贝宝参考交易账单协议

时间:2017-03-09 11:40:31

标签: paypal billing express-checkout

我们要求通过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测试我能够:

  1. 获取令牌(SetExpressCheckout) - category-> Digital,billingAgreement,Type = Sale
  2. 将客户转发至sandbox paypal登录
  3. 确认付款
  4. 重定向回我们的系统(returnUrl)
  5. 处理付款(GetExpressTocket + doExpressCheckout)
  6. 问题:

    • 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内。 我正在寻找关于文档中矛盾的方法和解释的建议。 (或者,如果我做错了,那么很高兴听到它)

1 个答案:

答案 0 :(得分:0)

回答你的问题:

1) PayPal企业帐户是否需要任何切换/状态/升级才能在实时环境中启用参考交易?

如果您在致电参考交易时收到错误,可能是您的帐户中的设置已关闭。您需要联系PayPal业务支持团队以启用它。

2)不会返回结算ID。

要设置结算协议,您需要在SetExpressCheckout请求中传递paymentaction = authorization。如果您将paymentaction设置为sale,则无法设置结算协议。