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