【问题标题】:Paypal payment REST API execute process using guzzlePaypal 支付 REST API 使用 guzzle 执行流程
【发布时间】:2018-06-12 23:35:56
【问题描述】:

我想问一下paypal REST执行过程。如文档中所定义,

curl -v https://api.sandbox.paypal.com/v1/payments/payment/payment_id/execute/ \\
  -H "Content-Type:application/json" \\
  -H "Authorization: Bearer Access-Token" \\
  -d '{
  "payer_id": "payer_id"
}'

代码适用于 curl 版本,我想将其更改为 guzzle 版本,但对 "Authorization: Bearer Access-Token" 有点困惑>

"Authorization: Bearer Access-Token" 是否放置在 "Content-Type:application/json" 之类的标头配置中?

因为我总是从 Paypal 沙盒服务器收到错误 500,当我尝试访问 Paypal 沙盒仪表板上的 API 调用历史记录页面时,它总是显示“获取沙盒 API 调用时出错。再试一次。”

【问题讨论】:

    标签: php rest curl paypal guzzle


    【解决方案1】:

    是的,目前实现Bearer身份验证的最佳选择是添加标头:

    $response = $client->post(
        'https://api.sandbox.paypal.com/v1/payments/payment/payment_id/execute/',
        [
            'headers' => ['Authorization' => 'Bearer #your_token#'],
            'json' => ['payer_id' => '#your_payer_id#'],
        ]
    );
    

    【讨论】:

    • 您好,关于这一行 ['payer_id' => '#your_payer_id#'] 为什么包含在 'json' 而不是数据中?
    • json 只是data 结合json_encode()Content-Type 标头的快捷方式。 Read in the docs.
    • 感谢您的解释,但我的请求仍然从贝宝沙箱返回错误。经过一番搜索,我找到了 paypal php sdk 并决定使用它,而不是使用 guzzle 手动创建请求 :)
    猜你喜欢
    • 2021-12-03
    • 2013-07-04
    • 2017-05-13
    • 2019-05-15
    • 1970-01-01
    • 2013-04-25
    • 2017-02-16
    • 2016-04-03
    • 2014-11-01
    相关资源
    最近更新 更多