Paypal API 沙箱 DoAuthorization() 啥是交易 ID?

Posted

技术标签:

【中文标题】Paypal API 沙箱 DoAuthorization() 啥是交易 ID?【英文标题】:Paypal API sandbox DoAuthorization() What is transaction id?Paypal API 沙箱 DoAuthorization() 什么是交易 ID? 【发布时间】:2016-02-15 08:45:42 【问题描述】:

我们使用 Paypal 向用户收费。现在,我们有 API 调用 BillUser 以在未经授权的情况下向用户收费。我们想将其更改为先授权,然后再收费。 此外,我们不希望将用户重定向到 Paypal 页面,并且我们为每个接受的用户提供计费协议 ID。 我正在研究 Paypal API,发现 DoAuthorization() 方法可以满足我们的需求。但是,这需要一个交易 ID 作为输入。我如何获得此交易 ID?

我可以使用 Nuget install-package PaypalMerchantSdk 将 API 更新到最新版本,并使用 DoReferenceTransaction() 方法来授权/捕获付款。但是,问题在于它要求 API 签名。我们有沙盒和现场环境的 API 证书。我们不想使用 API 签名。是否有使用 API 证书并在没有签名的情况下调用此方法的 C# 示例?

【问题讨论】:

那么,您使用的是 ReferenceTransaction 还是 ExpressCheckout? developer.paypal.com/docs/classic/express-checkout/… 我有一个 ReferenceTransaction Id 并且想使用它只是为了现在授权并在以后捕获。问题是我们使用的是旧的贝宝程序集,它没有任何与参考交易相关的方法。此外,Paypal 示例中指定的 SetExpressCheckout 采用参考交易 id - 但是,我们没有采用此参数。 我可以使用 Nuget install-package PaypalMerchantSdk 将 API 更新到最新版本,并使用 DoReferenceTransaction() 方法来授权/捕获付款。但是,问题在于它要求 API 签名。我们有沙盒和现场环境的 API 证书。我们不想使用 API 签名。是否有使用 API 证书并在没有签名的情况下调用此方法的 C# 示例? 我找不到任何关于如何使用证书只是签名的例子,如果我找到了我会告诉你的 【参考方案1】:

据我所知,我正在尝试完成类似的事情,您必须使用 DoDirectPayment 并将 paymentaction 设置为 Authorization 这将向您发送回一个 Transaction-id 获得该 ID 后,您可以将其发送到 DoAuthorization

我遇到的问题是交易ID仍然无效希望这对您有帮助,如果您找到解决方案,请分享,谢谢

【讨论】:

【参考方案2】:

GetExpressCheckoutDetails API 操作获取有关 Express Checkout 交易的信息。您必须使用 GetExpressCheckoutDetails 方法和参数 PAYMENTREQUEST_n_TRANSACTIONID:

最多 10 个并行付款请求的交易 ID。您最多可以指定 10 次付款,其中 n 是 0 到 9 之间的数字,包括 0 到 9。 字符长度和限制:17 个字符,订单类型的交易除外,其字符长度为 19。 该字段从 64.0 版本开始可用。

【讨论】:

非常感谢您的回复!但是,我不认为这是一种可能。我想使用参考帐单协议 ID 进行此授权。此外,我不希望用户在此与 Paypal 网站进行任何交互。实际上,这个授权是在用户下单后异步进行的。 ExpressCheckout 要求用户对交易进行身份验证,这意味着我们可能必须将他们重定向到 Paypal 网站(这是不希望的)。此外,我们使用的是旧的 Paypal Dll(那里的参考是 Paypal_base.dll V0.0)。这没有参数 PAYMENTREQUEST_n_TRANSACTIONID。 基本上,我需要创建一个新事务并将事务 id 传递给 doAuthorization() 方法。但是,我不知道如何创建此交易。如果我尝试使用金额为 0 的 BillUser() 创建交易,则会由于内部错误而被拒绝。 你必须先设置方法SetExpressCheckout!请参阅此示例:***.com/questions/32565213/…

以上是关于Paypal API 沙箱 DoAuthorization() 啥是交易 ID?的主要内容,如果未能解决你的问题,请参考以下文章

TLS 1.2 升级 errno 54 后 PayPal 沙箱 API SSL 错误

Paypal API 订阅 curl 沙箱目录产品 权限不足授权失败

PayPal Rest API for Payments 在沙箱中返回 NULL

成功的 paypal api 调用未显示在沙箱中

关于无法从开发者沙箱触发 Paypal REST API webhook 事件

无法登录到 Paypal 沙箱 [重复]