Я пытаюсь интегрировать последнюю версию Stripe Checkout на своем веб-сайте с подключенной учетной записью и платой за платформу, используя плату за назначение.
Итак, прежде всего, я создаю сеанс:
$session = \Stripe\Checkout\Session::create([
'customer_email' => $_SESSION["EMAIL"],
'client_reference_id' => $_SESSION["USER_ID"],
'payment_method_types' => ['card'],
'line_items' => [[
'name' => $listing["title"],
'description' => $nb_days . " night(s) / " . $nb_guests . " guest(s) in " . $listing["title"],
'images' => [URL . "img/logo.png"],
'amount' => $total_stripe,
'currency' => 'usd',
'quantity' => 1,
]],
'payment_intent_data' => [
'application_fee_amount' => $total_fee,
'transfer_data' => [
'destination' => $owner_stripe_id,
],
],
'success_url' => URL . 'order-success.php',
'cancel_url' => URL . 'book-listing.php?action=order_error',
]);
Затем в своем коде JS я предоставляю идентификатор, созданный в предыдущем сеансе, и ссылаюсь на подключенную учетную запись, которая будет получать деньги:
var stripe = Stripe(STRIPE_PK_KEY, {
stripeAccount: STRIPE_CONNECT_ID,
});
$(".btn-confirm-pay").click(function(e) {
stripe.redirectToCheckout({
sessionId: STRIPE_SESSION_ID,
}).then(function (result) {
});
});
Но когда я нажимаю на кнопку .btn-confirm-pay
, я перенаправлен на Stripe, который показывает ошибку «Что-то пошло не так», и когда я проверяю консоль, я вижу ошибку 404 от Stripe со следующим сообщением: Неверный идентификатор payment_page: cs_test_xxx ...
Я заметил, что эта ошибка не появляется, когда я использую метод «прямых сборов» вместо «сборов назначения», как описано здесь .
Можете ли вы помочь решить эту проблему?