Я использую Laravel и пытаюсь реализовать OmniPay.Тем не менее, документации определенно не хватает (что меня удивило для пакета такого размера), и кажется, что они на самом деле не отвечают на все так много проблем на их GitHub, поэтому я подумал, что это может быть хорошим местом для обсуждения.
Я следую основному руководству, как показано здесь для Платежных сборов;https://github.com/thephpleague/omnipay-stripe
Однако первое, что меня смущает, это примечания под шагом № 2, где этот код:
$paymentMethod = $_POST['paymentMethodId'];
$response = $gateway->authorize([
'amount' => '10.00',
'currency' => 'USD',
'description' => 'This is a test purchase transaction.',
'paymentMethod' => $paymentMethod,
'returnUrl' => $completePaymentUrl,
'confirm' => true,
])->send();
В нем говорится: «Если вы не установитеподтвердите для параметра значение true, вам нужно будет вручную подтвердить намерение платежа, как показано ниже. "
Это относится к коду непосредственно под ним?Или ВСЕ шаги ниже этого также?
Поскольку это тогда указывает, что следующий шаг должен сохранить некоторую ссылку на Намерение Платежа, таким образом, я сделал таблицу, которая будет хранить «Платежные Сессии» в базе данных, нометод $response->getPaymentIntentReference();
буквально не существует ... и нет никакого упоминания о том, почему.
Однако, $response->getTransactionReference()
существует, но возвращает идентификатор Charge
из Stripe, когда я хочу оплатуИдентификатор Intent (согласно документации Stripe).
Мне особенно нужны платежные документы, потому что они соответствуют SCA, а Charges - нет, и даже сами Stripe говорят в основном всем, что больше не стоит беспокоиться о Charges.
Я также надеялся получить ответ о том, как я могу использовать Webhooks вместо этого странного средства проверки сервера.Мне гораздо удобнее работать с веб-хуками, и у меня гораздо больше опыта с ними, но, похоже, нет документации от OmniPay (или пакета omnipay-stripe) об их использовании.
Надеюсь, кто-нибудь может дать мне немногопонимание, потому что это довольно сложно пытаться заставить это работать и видеть невероятно недостающую документацию и не так много учебных ресурсов там.