Php PayPal Express结账呼叫未在布局C中生成BAID
对于他们的网络订阅服务,我的客户完全订阅了Paypal Payments Pro(也称为Payflow),并且还订阅了定期计费附加组件 我已经能够使用信用卡设置定期账单,没有问题。然而,我对PayPal Express定期结账感到困惑 我遇到的问题是,在Payflow的“布局C”中,PayPal Express Checkout和托管信用卡Checkout并排集成。我似乎没有办法为布局的两种不同支付方式(投标)提供不同的信息 我已经非常彻底地、反复地阅读了文档。不过,我似乎错过了一些东西Php PayPal Express结账呼叫未在布局C中生成BAID,php,paypal,express-checkout,recurring-billing,Php,Paypal,Express Checkout,Recurring Billing,对于他们的网络订阅服务,我的客户完全订阅了Paypal Payments Pro(也称为Payflow),并且还订阅了定期计费附加组件 我已经能够使用信用卡设置定期账单,没有问题。然而,我对PayPal Express定期结账感到困惑 我遇到的问题是,在Payflow的“布局C”中,PayPal Express Checkout和托管信用卡Checkout并排集成。我似乎没有办法为布局的两种不同支付方式(投标)提供不同的信息 我已经非常彻底地、反复地阅读了文档。不过,我似乎错过了一些东西 Pa
- PayPal Pro/Payflow文档:开发者指南
- PayPal Pro/Payflow文档:快速结帐
- PayPal Pro/Payflow文档:定期计费快递
- 支付流结账(PDF上次更新日期:2013年6月)
RESULT=12&PNREF=bjpxx8333d4&RESPMSG=拒绝:11455买方未接受账单协议
以下是我目前正在做的事情:
第一步:要获得“布局C”中的付款表单,以及两种付款方式(快速结帐和信用卡),我将提交这些NVP,并且仅提交这些NVP:
USER=[user]
&VENDOR=[vendor]
&PARTNER=PayPalCA
&PWD=[password]
&CREATESECURETOKEN=Y
&SECURETOKENID=randomlygenerated
&TRXTYPE=A
&AMT=8.95
&CURRENCY=USD
&CSCREQUIRED=TRUE
&EMAIL=buyersemail@email.com
&FIRSTNAME=namelikeBob
&LASTNAME=namelikeDobbs
USER=[user]
&VENDOR=[vendor]
&PARTNER=PayPalCA
&PWD=[password]
&TRXTYPE=R
&ACTION=A
&ORIGID=fromPayPalsPOSTedPNREF
&START=aworkingdate
&TENDER=C
&PROFILENAME=Monthly Subscription
&PAYPERIOD=MONT
&TERM=0 // continue all subscriptions until the client deactivates
&AMT=8.95
&CURRENCY=USD
这项工作的目的是:
- 在布局C中创建表单
- 单击“使用贝宝结账”按钮
- 成功登录PayPal
- 确认金额并单击“立即付款”,然后
- 在设置定期计费系统的第二步(无论是计费配置文件还是BAID/协议)返回我的客户站点
USER=[user]
&VENDOR=[vendor]
&PARTNER=PayPalCA
&PWD=[password]
&CREATESECURETOKEN=Y
&SECURETOKENID=randomlygenerated
&TRXTYPE=A
&AMT=8.95
&CURRENCY=USD
&CSCREQUIRED=TRUE
&EMAIL=buyersemail@email.com
&FIRSTNAME=namelikeBob
&LASTNAME=namelikeDobbs
USER=[user]
&VENDOR=[vendor]
&PARTNER=PayPalCA
&PWD=[password]
&TRXTYPE=R
&ACTION=A
&ORIGID=fromPayPalsPOSTedPNREF
&START=aworkingdate
&TENDER=C
&PROFILENAME=Monthly Subscription
&PAYPERIOD=MONT
&TERM=0 // continue all subscriptions until the client deactivates
&AMT=8.95
&CURRENCY=USD
然而,贝宝(TENDER=p)BAID失败了。同样,这些NVP可能不是问题所在。可能是我在以前的请求中没有找到发送BILLINGTYPE=merchantificatedbilling
的方法:
USER=[user]
&VENDOR=[vendor]
&PARTNER=PayPalCA
&PWD=[password]
&TRXTYPE=A
&ACTION=X
&START=aworkingdate
&TENDER=P
&TOKEN=fromPayPalsPOSTedTOKEN
&PAYPERIOD=MONT
&TERM=0 // continue all subscriptions until the client deactivates
&AMT=8.95
&CURRENCY=USD
这里似乎有很多细节,但如果我遗漏了什么,请让我知道,我会立即提供信息 您是否尝试过实际放置:
&BILLINGTYPE=MerchantInitiatedBilling
&BA_DESC=ADescriptionIsRequired
在创建安全令牌的第一步中
您可以尝试的另一件可能会有所不同的事情是,作为实际的NVP参数包括:
&PAYPAL-NVP=Y
过去的做法是告诉Payflow将任何额外的参数(甚至是无法识别的参数)转发到PayPal,并给出PayPal的完整响应。由Jove,我认为您已经破解了它!你的第一个建议产生了积极的效果。我将对它进行大量测试,但如果一切顺利,我不会忘记接受这一点。谢谢。为了清楚起见,为了不让我的OP中的任何信息造成混乱,这里是我现在随请求传递的完整的15个NVP<代码>用户、供应商、合作伙伴、PWD、TRXTYPE、TENDER、BILLINGTYPE、CURRENCY、RETURNURL、CANCELURL、ERRORURL、BA_DESC、CREATESECURETOKEN、SecureTokeId、AMT似乎缺少
BA_DESC
元素。这就像一种魅力,而且——与当前所有PayPal文档相反——一步到位。希望这能帮助下一个用户!