PHP Stripe извлекает paymentintent (подключение)

#javascript #php #stripe-payments

#javascript #php #stripe-платежи

Вопрос:

Я пытаюсь извлечь paymentintent, чтобы я мог подтвердить, что он успешен, при извлечении я всегда получаю ошибку «нет такого намерения платежа».

Некоторый соответствующий PHP-код;

 //setting api key
StripeStripe::setApiKey('sk_test_xxxxx'); 

//creating payment intent on pageload
$intent = StripePaymentIntent::create([
            'amount' => 1099,
            'currency' => 'USD',
            'payment_method_types' => ['card'],
            'application_fee_amount' => '500',
           ], [
            'stripe_account' => 'acct_xxxx'
        ]);

//now on redirect(after coming back from 3DS with a $_GET that contains a intent id i'm retrieving paymentintent and confirming payment status.
$intent = StripePaymentIntent::retrieve($_GET['intentID'], array("stripe_account" => 'acct_xxxx'));

  

Соответствующий JS-код на странице

 var stripe = Stripe('pk_test_xxxxx', {
   stripeAccount: 'acct_xxxx'
});
            stripe.handleCardPayment(clientSecret, {
              payment_method_data: {
                billing_details: {
                  name: cardHolder.value
                },
                card: {
                  "token": tokenResult["token"]["id"]
                }
              }
            }).
//and more code which processes the redirect for 3ds.
  

var_dumping $intent покажет, что моя ошибка выглядит следующим образом;

 "error": {
    "code": "resource_missing",
    "doc_url": "https://stripe.com/docs/error-codes/resource-missing",
    "message": "No such payment_intent: 'pi_xxxxx'",
    "param": "intent",
    "type": "invalid_request_error"
}
  

Комментарии:

1. Вероятно, у вас несоответствие идентификаторов учетных записей. Я бы начал с того, что убедился, что идентификатор учетной записи, который вы передаете при создании PaymentIntent, совпадает с тем, который вы передаете при получении PaymentIntent.

2. Сеанс оплаты лучше во всех отношениях. Вы должны попробовать. Клиенты доверяют больше, чем заполнению реквизитов карты на ненадежных сайтах.