【问题标题】:PayPal API Express Checkout Get Response [duplicate]PayPal API Express Checkout 获取响应 [重复]
【发布时间】:2015-11-28 16:53:25
【问题描述】:

我是使用 PayPal API Express Checkout 的新手,我有一个问题。 如何从贝宝转换/获取响应值。这是我的响应字符串;

{ "id": "PAY-XXXXXXXXXX272783PKXTZ4NI", "create_time": "2015-09-03T01:11:17Z", "update_time": "2015-09-03T01:12:21Z", "state": “已批准”、“意向”:“销售”、“付款人”:{“payment_method”:“paypal”、“payer_info”:{“电子邮件”:“XXXXXXXXX-buyer@gmail.com”、“first_name”:“测试", "last_name": "buyer", "payer_id": "PJ9LKYDVZXXXX", "shipping_address": { "line1": "1 Main St", "city": "San Jose", "state": "CA", “postal_code”:“95131”,“country_code”:“US”,“recipient_name”:“测试买家”} } },“transactions”:[{“amount”:{“total”:“700.00”,“currency” : "PHP", "details": { "subtotal": "590.00", "shipping": "110.00" } }, "description"...

我想这样得到它:

$ID  = $response["id"];
$shipping_add_array  = $response["shipping_address"];
echo $shipping_add_array["state"];

感谢您的帮助。我已经一个星期没弄明白了

【问题讨论】:

  • json_decode() 会为您解决问题。
  • 谢谢。我真的不知道那是json。哈哈,这就是为什么它也很难在谷歌搜索。

标签: php express paypal response checkout


【解决方案1】:

你很接近 - 添加 json_decode():

$response = json_decode($paypal_response, true);
$ID  = $response["id"];

要获得送货地址,您需要深入挖掘:

$shipping_add_array  = $response["payer"]["payer_info"]["shipping_address"];
echo $shipping_add_array["state"];

您可以获得 JSON 格式化程序来帮助您找出对象的嵌套级别(更容易可视化嵌套的 json 数据)- 我找到的示例插件:(与开发人员无关)

chrome.google.com/webstore/detail/json-formatter/bcjindcccaagfpapjjmafapmmgkkhgoa?hl=zh-CN

【讨论】:

  • 谢谢你...你帮助我。但它必须是: $response = json_decode($paypal_response, true);这将使我能够访问 using [ index ]。
  • 谢谢 J.Aries。我更新了答案。
猜你喜欢
  • 2012-10-10
  • 2012-09-25
  • 1970-01-01
  • 2016-05-27
  • 2017-04-19
  • 2016-02-03
  • 2016-07-18
  • 2013-03-16
  • 2011-07-15
相关资源
最近更新 更多