PayPal未返回授权ID

0 投票
1 回答
980 浏览
提问于 2025-04-18 02:39

这是我第一次使用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、作废和捕获链接。你能帮我找出原因吗?谢谢你提前的帮助。

最好的祝福,
Georgi

1 个回答

3

根据REST API的文档,使用PayPal支付授权时,PayPal会提供一些特定的链接,这些链接是关于PayPal支付的,包括一个批准链接和一个执行链接。首先,你需要获取支付批准,然后执行支付,这和你平常处理PayPal支付的方式是一样的。当你成功执行了支付授权后,PayPal会返回一组新的链接,这些链接中包括一个用于完成支付的捕获链接。

撰写回答