1

Python と django を使用して、REST API アカウントの支払いリソースを使用して、paypal で支払いを作成しようとしています。curl を使用すると、すべてが機能します。Django ビューでは、トークンは正常に取得されますが、それを使用して支払いを行おうとすると、「HTTP エラー 401: 権限がありません」というエラーが発生します。

動作するカールは次のとおりです。

curl -v https://api.sandbox.paypal.com/v1/payments/payment -H 'Content-Type:application/json' -H 'Authorization:Bearer ***my_token***' -d '{ "intent":"sale", "redirect_urls":{ "return_url":"http://www.myurl.com", "cancel_url":"http://www.myurl.com"}, "payer":{ "payment_method":"paypal" },"transactions":[{"amount":{ "total":"0.10", "currency":"USD"},"description":"This is the Test payment transaction description."}]}'

これは、次の場合に問題がある私の Django ビューです。

import urllib2, base64

token = "***my_token***"
values = {
          "intent":"sale",
          "redirect_urls":{
            "return_url":"http://www.myurl.com",
            "cancel_url":"http://www.myurl.com"
          },
          "payer":{
            "payment_method":"paypal"
          },
          "transactions":[
            {
              "amount":{
                "total":"0.10",
                "currency":"USD"
              },
              "description":"This is the Test payment transaction description."
            }
          ]}

data = urllib.urlencode(values)

request1 = urllib2.Request("https://api.sandbox.paypal.com/v1/payments/payment")
base64string = base64.encodestring('%s' % token).replace('\n', '')
request1.add_header("Content-Type", "application/json")
request1.add_header("Authorization", "Bearer %s" % base64string) 

result1 = urllib2.urlopen(request1 , data)
response = result1.read()

言い換えれば、私は自分の見解でカールを機能させようとしています。

ありがとう。

4

2 に答える 2

0

あなたが私と同じ状況に陥っているかどうかはわかりませんが、適切に許可を求めていないサードパーティのペイパル アカウントの支払いを作成しようとしていました。適切なアクセス許可を要求するには、Permissions API を使用する必要があることがわかりました。

このリンクを参照してください: https://developer.paypal.com/webapps/developer/docs/classic/permissions-service/integration-guide/PermissionsAbout/

于 2013-10-03T05:33:46.380 に答える