【问题标题】:Link Paypal-Buttons (client) to Server-Response (PHP) with ajax使用 ajax 将 Paypal-Buttons(客户端)链接到服务器响应(PHP)
【发布时间】:2020-08-17 14:41:39
【问题描述】:

我想在我的网站上使用 Paypal,所以我按照教程 here。 到目前为止一切正常:使用 composer 下载了 SDK。创建了 PayPalClientCreateOrder 类。

在本节教程的最后,CreateOrder 的结果需要使用 javascript 链接到 Buttons:

    <script>
    paypal.Buttons({
        createOrder: function() {
            return fetch('test_paypal_create_paypal_transaction.php', {
                method: 'post',
                headers: {
                    'content-type': 'application/json'
                }
            }).then(function(res) {
                return res.json();
            }).then(function(data) {
                return data.orderID;
            });
        },
        onApprove: function(data, actions) {
            // This function captures the funds from the transaction.
            return actions.order.capture().then(function(details) {
                // This function shows a transaction success message to your buyer.
                alert('Transaction completed by ' + details.payer.name.given_name);
            });
        }
    }).render('#paypal-button-container');
    //This function displays Smart Payment Buttons on your web page.
</script>

这是 php 文件 (test_paypal_create_paypal_transaction.php):

require __DIR__ . '/../../vendor/autoload.php';

use MyProject\PayPay\CreateOrder;

$response = CreateOrder::createOrder(false);
echo json_encode($response);

CreateOrder 类工作正常。我可以从贝宝发​​出回应。这个问题似乎不存在。 当我按下 Paypal 按钮时,我还可以在 Firefox-Dev-Tools 中看到 XHR 请求已正确完成。还有一个 XHR 响应返回到按钮。但似乎我使用了错误的格式或错误的数据部分,即返回到fetch()-Function。

有人有想法吗?

谢谢你的帮助!!!

提姆

【问题讨论】:

    标签: php ajax paypal xmlhttprequest paypal-rest-sdk


    【解决方案1】:

    好的,我找到了解决办法。

    这个:

    [...]
        }).then(function(data) {
            return data.orderID;
        });
    [...]
    

    需要替换为:

    [...]
        }).then(function(data) {
            return data.result.id;
        });
    [...]
    

    【讨论】:

      猜你喜欢
      • 2021-02-11
      • 1970-01-01
      • 2012-04-14
      • 2020-09-13
      • 1970-01-01
      • 2020-08-17
      • 1970-01-01
      • 1970-01-01
      • 2017-07-21
      相关资源
      最近更新 更多