PayPal不会返回授权ID

时间:2014-04-14 07:28:54

标签: python python-3.x paypal

这是我第一次使用paypal,我需要一些帮助才能完成付款整合。我已经尝试联系paypal支持但没有成功。这是我的问题,我真的希望得到一些帮助。

我的齿轮磨得很奇怪,我找不到为什么这样做。这是关于用户授权,特别是关于paypal json的回复。我正在使用python sdk但在这种情况下无关紧要。这是我的意见。

paypalrestsdk.configure({
    'mode': 'sandbox',
'client_id': 'XXX',
'client_secret': 'XXX'
})
payment = paypalrestsdk.Payment({
    "intent": "authorize",
    "payer": {
        "payment_method": "paypal"
    },
    "redirect_urls": {
        "return_url": "http://mysite/success",
        "cancel_url": "http://mysite/cancel"
    },
    "transactions": [ {
        "amount": {
            "total": price,
            "currency": "USD"
        },
        "description": title
    }]
})

除了我没有收到授权ID外,一切都是ОК。以下是我收到的回复:

{
    'redirect_urls':{
    'cancel_url':'http://glamfame.com:8000/cancel',
    'return_url':'http://glamfame.com:8000/success'
},
'update_time':'2014-04-08T13:54:22Z',
'state':'created',
'transactions':[
{
    'amount':{
        'currency':'USD',
        'total':'123.00',
        'details':{
            'subtotal':'123.00'
        }
    },
    'description':'fawfwa',
    'related_resources':[{
        'authorization':{
            'valid_until':'2014-05-07T13:54:22Z',
            'update_time':'2014-04-08T13:54:22Z',
            'parent_payment':'PAY-54Y91315F8620142DKNB77DQ',
            'create_time':'2014-04-08T13:54:22Z',
            'links':[{
                'method':'GET',
                [link removed]
                'rel':'parent_payment'
            }]
        }
    }]
}],
'payer':{
    'payer_info':{
        'shipping_address':{
        }
    },
'payment_method':'paypal'
},
'id':'PAY-54Y91315F8620142DKNB77DQ',
'intent':'authorize',
'create_time':'2014-04-08T13:54:22Z',
'links':[{ POST, GET, REDIRECT methods with links
    }]

以下是根据他们的文档我应该收到的内容。

{
    "id": "2DC87612EK520411B",
    "create_time": "2013-06-25T21:39:15Z",
    "update_time": "2013-06-25T21:39:17Z",
    "state": "authorized",
    "amount": {
        "total": "7.47",
        "currency": "USD",
        "details": {
        "subtotal": "7.47"
    }
 },
"parent_payment": "PAY-36246664YD343335CKHFA4AY",
"valid_until": "2013-07-24T21:39:15Z",
"links": [
{
    "href": [link removed]
    "rel": "self",
    "method": "GET"
},
{
    "href": [link removed]
    "rel": "capture",
    "method": "POST"
},
{
    "href": [link removed]
    "rel": "void",
    "method": "POST"
},
{
    "href": [link removed]
    "rel": "parent_payment",
    "method": "GET"
}]
}

您可能已经注意到,在paypal响应中不包含授权ID和void,以及捕获链接。你能帮我找一下这个的原因吗?提前谢谢。

最诚挚的问候, 的Georgi

1 个答案:

答案 0 :(得分:3)

从REST API文档:使用PayPal付款授权,PayPal最初提供特定于PayPal付款的HATEOAS链接,包括approval_url和执行链接。正如您通常为PayPal付款所做的那样,首先是get payment approvalexecute the payment。成功执行付款授权后,PayPal会使用一组新的HATEOAS链接进行响应,包括用于捕获付款的捕获链接。