Paypal / Permissions / GetBasicPersonalData随机失败,“身份验证失败.API凭据不正确”。

时间:2013-05-21 08:53:07

标签: paypal paypal-permissions

我正在使用paypal权限api通过paypal验证用户并获得一些权限。

问题是有时/Permissions/GetBasicPersonalData调用返回“身份验证失败.API凭据不正确”。即使我通过成功拨打/Permissions/GetAccessToken

获得了令牌和秘密

奇怪的是,这是非常不可预测的。它有时会失败,有时会使用沙箱,总是在生产失败(现场支付宝)。

当它工作时它似乎每次都有效,当它失败时它每次都会失败,直到它发生变化。

1 个答案:

答案 0 :(得分:0)

Paypal在生成OAuth签名时正在进行一些自定义编码和字符串操作,例如,它会首先将.编码为%2E,然后将其转换为小写字符串%2e

如果您正在编写自己的Paypal OAuth签名生成功能,并且错过了一些步骤,则您的签名将无效。您描述的“随机”事情可能是因为这些特殊字符无法保证显示在token / token secret中。当他们不在那里时,它会成功,反之亦然。

我通过从Paypal的官方Ruby SDK中逐位翻译来实现它。 (https://github.com/paypal/sdk-core-ruby/blob/master/lib/paypal-sdk/core/util/oauth_signature.rb