1

问题

将参数列表发送到 PayPal API 的正确方法是什么?这是我想知道如何正确发送的一些参数的具体示例:

TRXTYPE               S
BILLTOSTREET          123 Marks & Spencer St.
CUSTREF               648=ZVC_Gxk

关于此事的文档不一致,我在网上找到的大多数代码都没有使用 PayPal 描述的长度前缀(但似乎仍然有效!)。

背景

PayPal Payments Pro文档在p44 和周边页面上描述了他们的自定义和非标准兼容 NVP 格式。在PayPal API NVP Basics页面上也有矛盾地描述为“所有使用 HTTP 发送的执行 PayPal API 操作的请求都必须经过 URL 编码。”。

大型 PDF 文档也自相矛盾:

  • PDF 的“名称-值参数语法指南”部分指出“不要在值中使用空格”。但是,它随后提供了一个“正确”NVP 字符串的示例,该字符串在 BILLTOSTREET 参数中包含空格。

  • “名称-值参数语法指南”部分声明“将 NVP 参数字符串括在引号中”。这是指整个编码值字符串吗?我的 POST 正文是否应该如下所示,包括引号?“TRXTYPE=S&TENDER=C...”

  • 它声称整个参数字符串应该用双引号引起来。

4

2 回答 2

0

根据我的经验,以下工作:

  • URL 编码所有值(但不是参数名称)
  • 没有引号,既不是值也不是整个帖子正文

顺便说一句,我学会了不要把 Paypal 的(可怕的)文档看得太严肃,而是诉诸反复试验,所以......

于 2012-10-14T01:46:07.247 回答
0

如果您使用一种常见的服务器端语言(php、ror、java、.net)并希望节省时间和精力,只需使用适当的 PayPal 的 SDK https://cms.paypal.com/au/cgi-bin /?cmd=_render-content&content_ID=开发者/library_download_sdks

于 2012-10-19T04:19:33.153 回答