繁体   English   中英

如何通过PayPal API发送一次性付款

[英]How to send a one-time payment via PayPal api

我想通过API向某人发送付款。 基本上,我想输入该人的PayPal电子邮件地址和美元金额并将其发送。 没有批准或任何东西。 到目前为止,这是我需要支付的款项:

headers = {
    "X-PAYPAL-SECURITY-USERID": PAYPAL_USERNAME,
    "X-PAYPAL-SECURITY-PASSWORD": PAYPAL_PASSWORD,
    "X-PAYPAL-SECURITY-SIGNATURE": PAYPAL_SIGNATURE,
    "X-PAYPAL-APPLICATION-ID": PAYPAL_APP_ID,
    "X-PAYPAL-SERVICE-VERSION": PAYPAL_SERVICE_VERSION,
    "X-PAYPAL-REQUEST-DATA-FORMAT": "NV",
    "X-PAYPAL-RESPONSE-DATA-FORMAT": "JSON",
}

params = OrderedDict()
params['requestEnvelope.errorLanguage'] = 'en_US'
params['actionType'] = 'PAY'
params['currencyCode'] = 'USD'
params['cancelUrl'] = 'https://example.com/'
params['returnUrl'] = 'https://example.com/'
params['receiverList.receiver.email'] = 'david@example.com'
params['receiverList.receiver.amount'] = '1.00'
res = requests.post(
    "https://svcs{}.paypal.com/AdaptivePayments/Pay/".format("" if settings.STAGE == "production" else ".sandbox"),
headers=headers, data=params
)

这将成功创建付款对象:

>>> data
{u'responseEnvelope': {u'ack': u'Success', u'timestamp': u'2014-11-19T23:52:50.500-08:00', u'build': u'13414382', u'correlationId': u'5fe166107b9e3'}, 
  u'paymentExecStatus': u'CREATED', u'payKey': u'AP-76K6303883448644B'}

那我如何才能在不登录或任何其他方式的情况下“批准”付款,这可能吗? 我尝试执行以下操作,但是这引起了错误,即付款必须由发件人授权

params = OrderedDict()
params['requestEnvelope.errorLanguage'] = 'en_US'
params['payKey'] = 'AP-76K6303883448644B'
res = requests.post(
    "https://svcs{}.paypal.com/AdaptivePayments/ExecutePayment/".format("" if settings.STAGE == "production" else ".sandbox"),
headers=headers, data=params )
data = res.json()

一旦有了payKey ,我可以批准/发送然后付款,而无需进入URL并手动批准它?

如果您在此处指定senderEmail ,它将立即发起(“隐式”)付款:

params['senderEmail'] = 'sender@example.com'

这是更多信息的文档: https : //developer.paypal.com/docs/classic/api/adaptive-payments/Pay_API_Operation/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM