我已在我的iOS应用中安装并使用了PayPal移动SDK。 我通过应用程序处理一次付款,然后将售后的PayPal确认字典传递给我的服务器进行确认(按照PayPal的指示)
但是,当我尝试确认服务器上的销售时,我收到'内部服务错误已发生'。
以下是PayPal确认JSON:
"paypalConfirmation" : {
"response" : {
"id" : "APAYPALSALECONFIRMATIONID",
"state" : "approved",
"create_time" : "2016-03-21T15:18:36Z",
"intent" : "sale"
},
"client" : {
"environment" : "mock",
"product_name" : "PayPal iOS SDK",
"paypal_sdk_version" : "2.14.0",
"platform" : "iOS"
},
"response_type" : "payment"
}
这是我服务器上的node.js代码:
//I am using the PayPal Node.js SDK
paypal.sale.get("APAYPALSALECONFIRMATIONID", function (error, sale) {
if (error) {
console.log(error);
context.fail('There was an error confirming the payment');
} else {
console.log('Verifying sale...');
compareSaleWithPost(order, sale, context);
}
});
以下是错误:
{ [Error: Response Status : 500]
response:
{ name: 'INTERNAL_SERVICE_ERROR',
message: 'An internal service error has occurred',
information_link: 'https://developer.paypal.com/docs/a/#INTERNAL_SERVICE_ERROR',
debug_id: '***********',
httpStatusCode: 500 },
httpStatusCode: 500 }
我知道还有其他关于此错误的问题,但它们指的是信用卡付款及其号码或负面测试设置的问题。
我关闭了否定测试,这是针对PayPal帐户的交易而非信用卡。我正在使用 SANDBOX 模式
答案 0 :(得分:0)
事实证明我使用了错误的请求。我本应该使用paypal.payment.get而不是paypal.sale.get。像这样:
paypal.payment.get("APAYPALSALECONFIRMATIONID", function (error, payment) {
if (error) {
console.log(error);
context.fail('There was an error confirming the payment');
} else {
console.log('Verifying payment...');
compareSaleWithPost(order, payment, context);
}
}