Я использую Stripe Checkout API, чтобы направить пользователя веб-сайта на оплату.
Есть ли способ передать адрес доставки на размещенную страницу оформления заказа, чтобы он был получен от реферера, а не от самих Stripe?
function createSession()
{
require 'vendor/autoload.php';
\Stripe\Stripe::setApiKey('[API_KEY_REDACTED]');
$YOUR_DOMAIN = '[SITE_URL_REDACTED]';
// Calculate price
$price = 50;
$checkout_session = \Stripe\Checkout\Session::create([
'billing_address_collection' => 'required',
'payment_method_types' => ['card'],
'line_items' => [[
'price_data' => [
'currency' => 'gbp',
'unit_amount' => $price,
'product_data' => [
'name' => 'Product'
],
],
'quantity' => 1,
]],
'mode' => 'payment',
'success_url' => $YOUR_DOMAIN . '/success',
'cancel_url' => $YOUR_DOMAIN . '/cancel',
]);
return json_encode(['id' => $checkout_session->id]);
}
Вы можете добавить следующую строку, чтобы Stripe запрашивал адрес доставки, но вместо этого я хочу передать это от реферера.
'shipping_address_collection' => [
'allowed_countries' => ['US', 'CA'],
],
3
Daniel Few
6 Окт 2020 в 17:05
1 ответ
Лучший ответ
Для этого вы должны создать клиента и указать его доставку адрес, затем указать этого существующего клиента при создании сеанса Checkout:
$checkout_session = \Stripe\Checkout\Session::create([
'customer' => 'cus_123',
...
]);
0
Nolan H
6 Окт 2020 в 15:19
Похожие вопросы
Новые вопросы
php
PHP — это открытый, мультипарадигмальный, динамически типизированный и интерпретируемый язык сценариев, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.