python - PayPal Python Pay 请求 ClientDetails

标签 python django paypal paypal-ipn paypal-adaptive-payments

我正在使用 PayPals API,它的文档非常糟糕,需要寻求帮助。

我正在 PayPal Adaptive API 上扩展我的网站,它允许我之前设置预批准付款。

除了发送的详细信息外,我还想添加一些用户信息。

这似乎可以根据他们的文档完成,但在 IPN 中没有任何地方被捕获。

简单支付

def test_pay():
    response = paypal.pay(
        actionType = 'PAY',
        cancelUrl = cancelUrl,
        currencyCode = currencyCode,
        senderEmail = EMAIL_ACCOUNT,
        feesPayer = 'EACHRECEIVER',
        memo = 'Simple payment example',
        preapprovalKey = 'PA-0HA01893HK6322232',
        receiverList = { 'receiver': [
            { 'amount':"10.0", 'email':API_EMAIL, 'primary':True },
            { 'amount':"5.0", 'email':SECONDARY_EMAIL, 'primary':False }
        ]},
        clientDetailsType = { 'customerId': 1, 'customerType': 'Normal' },
        returnUrl = returnUrl,
        ipnNotificationUrl = notificationUrl
    )
#     if response['responseEnvelope']['ack'] == "Success":
    print response['responseEnvelope']['ack']
#     if response['paymentExecStatus'] == "COMPLETED":
    print response['paymentExecStatus']
#     if response.has_key('payKey'):
    print response['payKey']
    print response

test_pay()

IPN 响应

pay_key=AP-8J7165865F7541310&transaction%5B0%5D.id_for_sender_txn=4GL2853573576212V&transaction%5B0%5D.pending_reason=NONE&charset=windows-1252&log_default_shipping_address_in_transaction=false&transaction%5B0%5D.id=6XD76450JV9737605&notify_version=UNVERSIONED&preapproval_key=PA-93P236141R834703C&transaction%5B1%5D.id=9R07347926768733A&test_ipn=1&transaction%5B0%5D.status=Completed&status=COMPLETED&action_type=PAY&memo=Simple+payment+example&transaction%5B0%5D.receiver=a.smit_1329744569_biz%40mac.com&transaction%5B1%5D.status=Completed&payment_request_date=Wed+Feb+22+05%3A30%3A49+PST+2012&transaction%5B1%5D.id_for_sender_txn=2D9633797C888500H&verify_sign=AIDiik4kxSLiNqbMmTDHplFnCnz3A3ORrDVlBVOzrtltyUx-NoxxgSc6&transaction%5B1%5D.pending_reason=NONE&transaction%5B0%5D.status_for_sender_txn=Completed&transaction%5B1%5D.status_for_sender_txn=Completed&transaction%5B0%5D.is_primary_receiver=true&transaction%5B1%5D.receiver=a.smit_1298362298_per%40mac.com&transaction%5B1%5D.amount=USD+5.00&ipn_notification_url=http%3A%2F%2F108.166.107.74%2Fyour-ipn-location%2F&transaction%5B0%5D.amount=USD+10.00&transaction_type=Adaptive+Payment+PAY&cancel_url=http%3A%2F%2F108.166.107.74%2F&reverse_all_parallel_payments_on_error=false&sender_email=a.smit_1329128659_per%40mac.com&transaction%5B1%5D.is_primary_receiver=false&fees_payer=EACHRECEIVER&return_url=http%3A%2F%2F108.166.107.74%2F

在响应中我看不到 customerTypecustomerId

有什么想法吗?

最佳答案

customerIdcustomerType 未根据 PayPal API 返回.我想这是一个将显示在您在 PayPal 网站上的交易历史记录中的字段。为什么没有返回客户数据的 API 函数也超出了我的理解范围。

关于python - PayPal Python Pay 请求 ClientDetails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9396120/

相关文章:

python - Python 中的句子拆分并使其成为有序字典

django - uWSGI + Nginx,uWSGI无法接收请求

php - 尝试通过 paypal 的 REST API (php) 对销售进行退款时的 TRANSACTION_REFUSED

php - PayPal IPN - 无法接收电子邮件通知

Python:检查值属于哪个bin

python - 类型错误 : cannot concatenate 'str' and 'UUID' objects

python - 为每次调用外部 API 执行附加操作

paypal - 交易后获取客户详细信息

python - 如何解决错误 "no module found named pyside2"?

python - 为什么在测试中没有将查询添加到 Django 的 db.connection.queries 中?