Я использовал код, указанный в https://github.com/paypal/PayPal-Python-SDK, для создания платежа. Вопрос на каком этапе платеж завершен? Насколько я понимаю, он завершается после «Авторизовать платеж» и перед перенаправлением пользователя на «return_url», потому что я думаю, что «return_url» должен сделать что-то вроде «сказать пользователю, что платеж завершен», не выполняя платеж. Я не уверен, правильно ли я думал. Ниже поток платежей.
Создание платежа в приложении python
... skipped
"return_url": "xxx.com/payment/execute",
...
Авторизовать оплату в приложении python
...
Redirect user to approval_url (paypal page)
...
После того, как пользователь заполнил всю информацию в PayPal, он перенаправляет пользователя на return_url, который ниже.
Выполнить платеж в xxx.com/payment/execute
...
curl 'https://api.sandbox.paypal.com/v1/payments/payment/'+paymentId+'/execute';
...
после этого я получаю JSON
{
"id": "PAYID-LT3I25Y9M527750ER784091X",
"intent": "sale",
"state": "approved",
"cart": "1L498981HN342484R",
"payer": {
"payment_method": "paypal",
"status": "UNVERIFIED",
"payer_info": {
"email": "ji@gmail.com",
"first_name": "ukf",
"last_name": "tfutf",
"payer_id": "ZD7ELNRCHVLPY",
"shipping_address": {
"recipient_name": "ukf tfutf",
"line1": "ktf",
"city": "ktfu",
"state": "",
"postal_code": "",
"country_code": "HK"
},
"country_code": "HK"
}
},
"transactions": [
{
"amount": {
"total": "5.00",
"currency": "USD",
"details": {}
},
"payee": {
"merchant_id": "4J8HJBF56QT24",
"email": "facilitator@gmail.com"
},
"description": "This is the payment transaction description.",
"item_list": {
"items": [
{
"name": "item",
"sku": "item",
"price": "5.00",
"currency": "USD",
"quantity": 1
}
],
"shipping_address": {
"recipient_name": "ukf tfutf",
"line1": "ktf",
"city": "ktfu",
"state": "",
"postal_code": "",
"country_code": "HK"
},
"shipping_options": [
null
]
},
"related_resources": [
{
"sale": {
"id": "96712163V8788712D",
"state": "completed",
"amount": {
"total": "5.00",
"currency": "USD",
"details": {
"subtotal": "5.00"
}
},
"payment_mode": "INSTANT_TRANSFER",
"protection_eligibility": "ELIGIBLE",
"protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE, UNAUTHORIZED_PAYMENT_ELIGIBLE",
"transaction_fee": {
"value": "0.47",
"currency": "USD"
},
"receipt_id": "2545046194101961",
"parent_payment": "PAYID-LT3I25Y9M527750ER784091X",
"create_time": "2019-06-04T15:29:48 Z",
"update_time": "2019-06-04T15:29:48 Z",
"links": [
{
"href": "https://api.sandbox.paypal.com/v1/payments/sale/96712163V8788712D",
"rel": "self",
"method": "GET"
},
{
"href": "https://api.sandbox.paypal.com/v1/payments/sale/96712163V8788712D/refund",
"rel": "refund",
"method": "POST"
},
{
"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-LT3I25Y9M527750ER784091X",
"rel": "parent_payment",
"method": "GET"
}
],
"soft_descriptor": "PAYPAL *TESTFACILIT"
}
}
]
}
],
"create_time": "2019-06-04T15:29:49 Z",
"links": [
{
"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-LT3I25Y9M527750ER784091X",
"rel": "self",
"method": "GET"
}
]
}