从 JSON 响应中提取 PayPal 销售 ID
Extract the PayPal sale id from a JSON response
我正在尝试为 PayPal 交易提取 Sale Id
。我正在使用 PayPalAndroidSDK
和 PayPal_MPL
到目前为止,我可以检索支付资源,例如PAY-...
使用这个:
PaymentConfirmation confirm = data.getParcelableExtra(PaymentActivity.EXTRA_RESULT_CONFIRMATION);
if (confirm != null) {
try {
Log.i("paymentExample", confirm.toJSONObject().toString());
JSONObject jsonObj = new JSONObject(confirm.toJSONObject().toString());
paymentId = jsonObj.getJSONObject("response").getString("id");
这个returns:
{
"client": {
"environment": "live",
"paypal_sdk_version": "2.8.4",
"platform": "Android",
"product_name": "PayPal-Android-SDK"
},
"response": {
"create_time": "2015-01-03T19:51:53Z",
"id": "PAY-...",
"intent": "sale",
"state": "approved"
},
"response_type": "payment"
}
我已经尝试了以下 return 销售 ID(一个 16 位交易号,与上面的 id:PAY-
...不同),但它 return 是一个错误:
paymentId = jsonObj.getJSONObject("response").getString("sale");
PayPal REST API 确实显示销售 ID 在 create a payment response
https://developer.paypal.com/docs/api/#create-a-payment
中发回
只是一个JSON,所以jsonObj["response"]["id"]
jsonObj["response"] 给你 {"create_time":"2015-01-03T19:51:53Z","id":"PAY-...","intent":"sale","state":"approved"}
jsonObj["response"]["id"]
会给你 id
的值
另外,我不确定您为什么要将它从对象转换为字符串,然后再转换回对象。如果没有必要,我会重构该代码。
我正在尝试为 PayPal 交易提取 Sale Id
。我正在使用 PayPalAndroidSDK
和 PayPal_MPL
到目前为止,我可以检索支付资源,例如PAY-...
使用这个:
PaymentConfirmation confirm = data.getParcelableExtra(PaymentActivity.EXTRA_RESULT_CONFIRMATION);
if (confirm != null) {
try {
Log.i("paymentExample", confirm.toJSONObject().toString());
JSONObject jsonObj = new JSONObject(confirm.toJSONObject().toString());
paymentId = jsonObj.getJSONObject("response").getString("id");
这个returns:
{
"client": {
"environment": "live",
"paypal_sdk_version": "2.8.4",
"platform": "Android",
"product_name": "PayPal-Android-SDK"
},
"response": {
"create_time": "2015-01-03T19:51:53Z",
"id": "PAY-...",
"intent": "sale",
"state": "approved"
},
"response_type": "payment"
}
我已经尝试了以下 return 销售 ID(一个 16 位交易号,与上面的 id:PAY-
...不同),但它 return 是一个错误:
paymentId = jsonObj.getJSONObject("response").getString("sale");
PayPal REST API 确实显示销售 ID 在 create a payment response
https://developer.paypal.com/docs/api/#create-a-payment
只是一个JSON,所以jsonObj["response"]["id"]
jsonObj["response"] 给你 {"create_time":"2015-01-03T19:51:53Z","id":"PAY-...","intent":"sale","state":"approved"}
jsonObj["response"]["id"]
会给你 id
另外,我不确定您为什么要将它从对象转换为字符串,然后再转换回对象。如果没有必要,我会重构该代码。