在PayPal RequestPermission API中指定多个范围

时间:2012-07-16 13:43:57

标签: paypal paypal-nvp

查看RequestPermissions API,它表示范围应该是一个字符串。但是,我没有成功找到如何指定多个范围(特别是EXPRESS_CHECKOUT和REFUND)。逗号分隔,分号,甚至使用他们的NVP列表语法都不起作用。非常感谢CURL样本。

以逗号分隔的例子......

curl -s --insecure -H 
"X-PAYPAL-SECURITY-USERID: API_USERNAME" 
-H "X-PAYPAL-SECURITY-PASSWORD: API_PASSWORD" 
-H "X-PAYPAL-SECURITY-SIGNATURE: API_SIGNATURE" 
-H "X-PAYPAL-REQUEST-DATA-FORMAT: NV" 
-H "X-PAYPAL-RESPONSE-DATA-FORMAT: NV" 
-H "X-PAYPAL-APPLICATION-ID: APP-80W284485P519543T" 
https://svcs.sandbox.paypal.com/Permissions/RequestPermissions -d 
"requestEnvelope.errorLanguage=en_US&scope=EXPRESS_CHECKOUT,REFUND&callback=http://my/callback"

当我发出请求时,我回到“无效的请求参数范围,其值为EXPRESS_CHECKOUT,REFUND”

2 个答案:

答案 0 :(得分:9)

确定。随机找到答案。必须使用“scope(0)= SCOPE_1& scope(1)= SCOPE_2 ...”来设置范围变量。

因此,cURL请求看起来像这样......

curl -s --insecure -H 
"X-PAYPAL-SECURITY-USERID: API_USERNAME" 
-H "X-PAYPAL-SECURITY-PASSWORD: API_PASSWORD" 
-H "X-PAYPAL-SECURITY-SIGNATURE: API_SIGNATURE" 
-H "X-PAYPAL-REQUEST-DATA-FORMAT: NV" 
-H "X-PAYPAL-RESPONSE-DATA-FORMAT: NV" 
-H "X-PAYPAL-APPLICATION-ID: APP-80W284485P519543T" 
https://svcs.sandbox.paypal.com/Permissions/RequestPermissions -d 
"requestEnvelope.errorLanguage=en_US&scope(0)=EXPRESS_CHECKOUT&scope(1)=REFUND&callback=http://my/callback"

答案 1 :(得分:3)

如果您正在使用他们的JSON API,则范围可以是数组。