在PayPal中使用TransactionSearch的X-PAYPAL-AUTHORIZATION标头

时间:2012-05-24 10:02:44

标签: php paypal permissions paypal-sandbox signature

我正在使用PayPal API向商家请求权限以访问其帐户的某些部分。其中之一是TransactionSearch方法。

通常只有在提供USER,PWD和SIGNATURE时才可以使用TransactionSearch。但是,在使用PayPal的权限服务时,我无法从商家访问该信息。我唯一的信息包括:

  • 请求令牌,
  • 验证码,
  • 访问令牌,
  • 令牌秘密
  • 生成的签名(我假设我正确生成了这个)

使用此信息,我将以下X-PAYPAL-AUTHORIZATION标题放在一起:

X-PAYPAL-AUTHORIZATION:timestamp=1337848711, token=DmyRT4TygwxPvfNExkH29I53S1il6yTmsJFwXRT7jLjaYyezOfUmnQ, signature=sphzCP0H47JTDJS8uuMsqWHAIAo=

因此,在TransactionSearch的情况下,我如何使用上述信息来获取我正在寻找的交易?当然,我可以使用自己的USERPWDSIGNATURE,但这只会给我自己的交易,即使我使用了X-PAYPAL_AUTHORIZATION标题。我需要那些我刚收到权限的商家。

1 个答案:

答案 0 :(得分:2)

如果您代表第三方行事,则需要在数据请求中包含SUBJECT字段并传递第三方商家的电子邮件。如果您已通过此商家的身份验证,则应获取其信息。在Python中(抱歉 - 没有PHP示例)这些是我作为数据的一部分传入的字段(不是我的标题)。我的标题是空的。

return [('VERSION', self.api_version),  # This is 84 for me.
        ('user', self.api_username),  # This is *your* username.
        ('PWD', self.api_password),  # This is *your* password
        ('SIGNATURE', self.api_signature),  # This is *your* signature.
        ('SUBJECT', self.subject)]  # This is the third party's email.

请注意,这根本不使用密钥,这有点不同寻常。