PayPal API 详细信息 - 我自己都搞糊涂了
Posted
技术标签:
【中文标题】PayPal API 详细信息 - 我自己都搞糊涂了【英文标题】:The PayPal API Details - I've confused myself 【发布时间】:2015-04-06 13:38:34 【问题描述】:我有一个网站充当交易经纪人,客户可以使用 PayPal 支付。
场景
网站 (Adam) 接受客户 (George) 使用 PayPal 进行的付款,但将款项支付到第三个 Paypal 帐户 (Fred)。亚当没有钱。但 Adam 需要作为网站所有者提供 Api 签名、密码等才能进行调用。
1) 我现在假设,如果我提供来自 Adam 的 PayPal 帐户(企业)的 API 详细信息,Adam 将获得付款而不是 Fred - 谁是预期的收款人?
2) 我需要申请一个自适应账户,而不是像我最初想的那样只插入 API 详细信息吗?
3) 我如何让 Fred 从 George 那里得到钱,只使用 Adam 作为经纪人/网关?
【问题讨论】:
PaymentDetailsType paymentDetail = new PaymentDetailsType(); //Details of the receiver of monies SellerDetailsType sellerDetails = new SellerDetailsType(); sellerDetails.PayPalAccountID = "Fred"; paymentDetail.SellerDetails = sellerDetails; PayPalAPIInterfaceServiceService service = new PayPalAPIInterfaceServiceService(sdkConfigForAdamsAPI); SetExpressCheckoutResponseType setECResponse = service.SetExpressCheckout(wrapper);
这行得通吗?那么使用 Adams API 但 Fred 得到报酬?
【参考方案1】:
如果 Adam 根本不需要保留任何资金,而您只是构建一个使用 Adam 的 API 凭据但将钱发送给 Fred 的结账,那么我建议使用 Express Checkout API。
Express Checkout 体验更好一点,功能更丰富,并且不需要像 Adaptive Payments 那样让应用获得批准。
Express Checkout 包含 3 个 API 调用。
SetExpressCheckout GetExpressCheckoutDetails DoExpressCheckoutPayment您可以在 SEC 和 DECP 调用中使用 PAYMENTREQUEST_n_PAYMENTREQUESTID 参数来指定 Fred 的 PayPal 电子邮件或帐户 ID,资金将直接存入该帐户。
如果您碰巧使用 php,我建议您查看我的 PHP class library for PayPal。它将使这些 API 调用对您来说非常快速和轻松。
【讨论】:
我正在使用此处的 .net 教程; devtools-paypal.com/guide/expresscheckout/… 每次调用 API 时,我都会传入 Adams API 详细信息。我可以简单地将其更改为每次(即时)使用 Freds 详细信息,因为这听起来像是进行快速结帐,没有各方需要注册他们的详细信息才能以这种方式使用 API? 是的,很多文档都跳过了这部分。如果您有 Fred 的凭据,那么是的,您可以使用这些凭据简单地“成为”贝宝的 Fred。但是您也可以使用您自己的(亚当的)凭证加上 subject= 参数让 Adam 代表 Fred 进行处理,Fred 将收到这笔钱。这确实需要 Adam 授予 Fred 代表他行事的权限。在本文档中搜索“subject=”,例如:developer.paypal.com/docs/classic/api/NVPAPIOverview 不过,正如我所提到的,如果您使用带有 PAYMENTREQUESTID 参数的 Express Checkout,那么您不必费心授予权限和使用主题参数。以上是关于PayPal API 详细信息 - 我自己都搞糊涂了的主要内容,如果未能解决你的问题,请参考以下文章
需要帮助从 C# 中的 Paypal API 中提取所有交易详细信息
Paypal API Payments Pro 交易未显示运输详细信息
在 PayPal 网站(而不是我自己的托管网站)上输入信用卡详细信息
什么会导致 PayPal 的 AdaptivePayments API 返回“内部服务器错误。请检查服务器日志以获取详细信息”?