【问题标题】:paypal reference transactions billing agreement贝宝参考交易计费协议
【发布时间】:2017-07-30 09:15:54
【问题描述】:

我们要求通过 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 通过 composer 安装)

我们有一个免费的 PayPal 企业帐户。

通过沙盒测试我能够:

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

问题:

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

  • 如何设置 0 美元的计费协议以在当月晚些时候开具发票金额?在上述步骤 1 中传递 0 数量并显示错误时

如果商品类别是,则需要商品名称、数量和数量 提供,错误代码 10003

这与文档https://developer.paypal.com/docs/classic/express-checkout/integration-guide/ECReferenceTxns/#setting-up-a-billing-agreement-before-payment 相矛盾,其中规定将金额设置为 0...? 更新:删除设置 $itemDetails->ItemCategory = 'Digital';解决了 $0 金额问题。

  • 即使我已通过 BillingAgreement 数据,也不会返回帐单 ID

    // 计费协议详情 $billingAgreementDetails = new BillingAgreementDetailsType('MerchantInitiatedBillingSingleAgreement'); $billingAgreementDetails->BillingAgreementDescription = $billingAgreementTxt; $setECReqDetails->BillingAgreementDetails = array($billingAgreementDetails);

我知道帖子中有一些问题,但我相信它们都与 PayPal 中的“参考交易”的范围有关。 我正在寻找有关文档中矛盾的方法和解释的建议。 (或者如果我做错了什么,那么很高兴听到它)

【问题讨论】:

  • 在与 Paypal 支持人员交谈后.. 他们说沙盒有问题,参考交易在沙盒上不起作用……不知道该怎么想,会继续尝试真实账户。

标签: paypal billing express-checkout


【解决方案1】:

回答你的问题:

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

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

2) 帐单 ID 未返回。

要设置账单协议,您需要在 SetExpressCheckout 请求中传递 paymentaction=authorization。如果您将付款操作设置为销售,您将无法设置计费协议。

【讨论】:

  • 感谢您的回答。第 1 点我意识到曾经在真实账户 (getToken...) 上运行测试,它返回了类似的消息。基本上联系 PayPal 以激活参考交易。 - 2. 当我回到这个问题时,我将测试Billing ID paymentaction=authorization。感谢您的 cmets。
  • 更新:使用 PayPal SDK(PHP via composer)(merchant-sdk-php,sdk-core-php) - 我使用 CreateBillingAgreement() 返回一个 BillingAgreementID。沙盒中的否仍然得到:[LongMessage] => 未启用预先批准的付款。 ...沙箱中的设置已激活,因此关闭 PayPal 支持.. 有趣的乐趣。
猜你喜欢
  • 2014-03-16
  • 2021-03-24
  • 2018-04-20
  • 1970-01-01
  • 2015-01-04
  • 2016-03-23
  • 2015-05-28
  • 2014-11-20
  • 2012-11-17
相关资源
最近更新 更多