我们要求通过PayPal进行参考交易,每月向客户收取不同金额的费用。 例如第一个月是30美元,第二个月可能是35美元,第三个月可能是25美元等。
到目前为止,这似乎是最好的方法:https://developer.paypal.com/docs/classic/express-checkout/integration-guide/ECReferenceTxns/
我正在使用此页面中的PayPal推荐SDK:https://developer.paypal.com/docs/classic/api/nvpsoap-sdks/ 并使用ExpressCheckout方法。 (通过作曲家安装的paypal / merchant-sdk-php)
我们有一个免费的PayPal商业帐户。
通过Sandbox测试我能够:
问题:
PayPal企业帐户是否需要任何切换/状态/升级才能在实时环境中启用参考交易?
如何设置$ 0结算协议,以便在当月晚些时候开具金额?在上面的步骤1中传递0金额并显示错误
如果项目类别是,则需要项目名称,数量和数量 提供,ErrorCode 10003
这与文档https://developer.paypal.com/docs/classic/express-checkout/integration-guide/ECReferenceTxns/#setting-up-a-billing-agreement-before-payment相矛盾,文档Output on a Samsung tablet表示将金额设置为0 ......? 更新:删除设置$ itemDetails-> ItemCategory =' Digital&#39 ;;解决了$ 0金额问题。
即使我已通过BillingAgreement数据,也不会返回结算ID
//结算协议详情 $ billingAgreementDetails = new BillingAgreementDetailsType(' MerchantInitiatedBillingSingleAgreement'); $ billingAgreementDetails-> BillingAgreementDescription = $ billingAgreementTxt; $ setECReqDetails-> BillingAgreementDetails = array($ billingAgreementDetails);
我知道帖子中有一些问题,但我相信它们都与“参考交易”的范围有关。在PayPal内。 我正在寻找关于文档中矛盾的方法和解释的建议。 (或者,如果我做错了,那么很高兴听到它)
答案 0 :(得分:0)
回答你的问题:
1) PayPal企业帐户是否需要任何切换/状态/升级才能在实时环境中启用参考交易?
如果您在致电参考交易时收到错误,可能是您的帐户中的设置已关闭。您需要联系PayPal业务支持团队以启用它。
2)不会返回结算ID。
要设置结算协议,您需要在SetExpressCheckout请求中传递paymentaction = authorization。如果您将paymentaction设置为sale,则无法设置结算协议。