我正在使用Laravel并尝试实现OmniPay。但是,绝对缺少文档(这让我为如此大的软件包感到惊讶),而且看来他们并没有真正回答他们GitHub上的所有问题,因此我认为这可能是个好地方。 / p>
我正在遵循此处显示的有关付款意向的基本指南; 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();
它指出,“如果未将Confirm参数设置为true,则必须手动确认付款意向,如下所示。”
是指直接在代码下面吗?还是下面的所有步骤?
因为它随后指示下一步是保存对支付意图的某些引用,所以我制作了一个表,该表将在数据库中存储“支付会话”,但是方法$response->getPaymentIntentReference();
实际上并不存在。 ..而且没有提及原因。
但是,$response->getTransactionReference()
确实存在,但是当我想要付款意图的ID时,它会从Stripe返回Charge
ID(根据Stripe文档)。
我特别需要“付款意向书”,因为它们符合SCA且不收取费用,甚至Stripe本身也告诉所有人,不再烦恼费用。
我也希望得到关于如何使用Webhooks代替这种奇怪的服务器验证内容的答案。我对webhooks更加满意,并且对它们有更多的经验,但是似乎没有OmniPay(也没有omnipay-stripe软件包)的文档来使用它们。
希望有人能给我一些见解,因为试图使它起作用并看到令人难以置信的缺乏文档并且学习资源不多,这实在令人沮丧。