【问题标题】:Paypal API - Verifying Mobile Payment - Retrieve senderEmailPaypal API - 验证移动支付 - 检索 senderEmail
【发布时间】:2025-12-03 00:50:02
【问题描述】:

我有一个接受贝宝付款的 iOS 应用。付款成功后,我会在应用中收到以下付款证明

"proof_of_payment" =     {
    "adaptive_payment" =         {
        "app_id" = "APP-blablabla";
        "pay_key" = "AP-blablabla";
        "payment_exec_status" = COMPLETED;
        timestamp = "2013-12-13T18:33:30.182-08:00";
    };
};

然后我使用自适应支付 API 在服务器端使用以下 API 调用验证支付证明

curl https://svcs.sandbox.paypal.com/AdaptivePayments/PaymentDetails \
-H "X-PAYPAL-SECURITY-USERID: blablabla.gmail.com" \
-H "X-PAYPAL-SECURITY-PASSWORD: blablabla" \
-H "X-PAYPAL-SECURITY-SIGNATURE: blablabla" \
-H "X-PAYPAL-REQUEST-DATA-FORMAT: NV" \
-H "X-PAYPAL-RESPONSE-DATA-FORMAT: NV" \
-H "X-PAYPAL-APPLICATION-ID: APP-blablabla" \
-d "payKey=AP-blablabla&requestEnvelope.errorLanguage=en_US"

根据此处的 API 文档:https://developer.paypal.com/webapps/developer/docs/classic/api/adaptive-payments/PaymentDetails_API_Operation/ 我希望回复中有 senderEmail,但我没有收到任何信息!?

以下是我从自适应 API 得到的响应

responseEnvelope.timestamp=2013-12-13T18%3A35%3A40.412-08%3A00&
responseEnvelope.ack=Success&
responseEnvelope.correlationId=af33730da88fb&
responseEnvelope.build=7935900&
cancelUrl=http%3A%2F%2Fwww.paypal.com&
currencyCode=USD&
paymentInfoList.paymentInfo(0).transactionId=blablabla&
paymentInfoList.paymentInfo(0).transactionStatus=COMPLETED&
paymentInfoList.paymentInfo(0).receiver.amount=2.00&
paymentInfoList.paymentInfo(0).receiver.email=blablabla%40gmail.com&
paymentInfoList.paymentInfo(0).receiver.primary=false&
paymentInfoList.paymentInfo(0).receiver.paymentType=SERVICE&
paymentInfoList.paymentInfo(0).receiver.accountId=blablabla&
paymentInfoList.paymentInfo(0).refundedAmount=0.00&
paymentInfoList.paymentInfo(0).pendingRefund=false&
paymentInfoList.paymentInfo(0).senderTransactionId=blablabla&
paymentInfoList.paymentInfo(0).senderTransactionStatus=COMPLETED&
returnUrl=http%3A%2F%2Fwww.paypal.com&status=COMPLETED&
payKey=AP-blablabla&
actionType=PAY&
feesPayer=EACHRECEIVER&
sender.accountId=blablabla&
sender.useCredentials=true 

问题:有什么想法可以获取 senderEmail 地址吗? 注意:这里都是使用 SANDBOX 账户

【问题讨论】:

    标签: paypal paypal-sandbox paypal-adaptive-payments


    【解决方案1】:

    你好 Xenofin Lategan,

    很遗憾,目前 mSDK 设置 senderEmail 的方式没有返回。将于明年发布的 mSDK v2 将 PayPal 支付转移到 REST 平台而不是 Adaptive Payments,因此您会看到一些变化。此外,正因为如此,当前与自适应平台集成的增强功能将非常有限。作为您的问题的解决方法,您可以使用带有交易 ID 的 GetTransactionDetails API 调用并通过这种方式获取付款人信息。

    https://developer.paypal.com/webapps/developer/docs/classic/api/merchant/GetTransactionDetails_API_Operation_NVP/

    感谢您的耐心等待。

    真诚地, 科里 商家技术支持
    PayPal 一家 eBay 公司

    【讨论】: