贝宝订单V2未处理批准的网址

潘卡伊

根据此处的PayPal订单API ,我们必须首先创建订单,然后从响应中复制批准的url并在浏览器中运行。这将打开贝宝页面。那里的买家将批准该请求。此后,应发出捕获请求。

发行细节

我有以下使用PayPal API创建订单的代码:

$client = new \GuzzleHttp\Client();
$response = $client->request('POST', $uri, [
        'json' => [
            "intent" => "CAPTURE",
            "purchase_units" => [
                [
                    "amount" => [
                        "currency_code" => "USD",
                        "value" => "100.00"
                    ]
                ]
            ]
        ],
        'headers' => [
            'Accept' => 'application/json',
            'Accept-Language' => 'en_US',
            'Content-Type' => 'application/json',
        ],
        'auth' => [$clientId, $secret, 'basic']
    ]            
);
$data = json_decode($response->getBody(), true);
echo "<pre>";
print_r($data);
echo "</pre>";

此代码可以正常工作。如下面的屏幕截图所示,这为我提供了4个网址。

在此处输入图片说明

此后,我使用rel = approve复制该网址。这个:https : //www.sandbox.paypal.com/checkoutnow?token=3C454469W0667862G

现在,运行此URL,这将打开沙盒PayPal页面。与买方登录后,单击“付款”,它将停留在同一页面上,没有任何错误。

知道为什么会这样吗?

普雷斯顿PHX
    'json' => [
        "intent" => "CAPTURE",
        "purchase_units" => [
            [
                "amount" => [
                    "currency_code" => "USD",
                    "value" => "100.00"
                ]
            ]
        ]
    ],

与买方登录后,单击“付款”,它将停留在同一页面上,没有任何错误。

知道为什么会这样吗?


您尚未在创建主体的application_context中指定任何return_url 下一步无处重定向,因此它只停留在同一页面上。

为了获得最佳的用户体验,请勿使用任何重定向到roval_url或返回URL的重定向。而是不使用重定向。完全没有

而是将您的“创建订单”和“捕获订单”这两个服务器端路由与以下批准流程配对https : //developer.paypal.com/demo/checkout/#/pattern/server

这可以使您的网站始终保持加载状态。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章