Я использовал PayPal REST API v1 для клиента, на котором он был развернут некоторое время go, и до определенного момента он работал нормально.
Сегодня до меня дошло, что Интеграция API не работает с 16 сентября 2019 года.
Код не изменился с момента развертывания, но никаких отправлений не происходит, хотя API все еще успешно получает токены доступа от PayPal.
Ниже приведено POST-данные, которые я отправляю в PayPal через CURL PHP (https://api.paypal.com/v1/payments/payment)
{
"intent": "sale",
"payer": {
"payment_method": "paypal"
},
"application_context": {
"brand_name": "[[REDACTED]]",
"locale": "GB",
"landing_page": "login",
"shipping_preference": "NO_SHIPPING",
"user_action": "user_action=commit"
},
"transactions": [{
"amount": {
"total": "0.01",
"currency": "GBP"
},
"payee": {
"email": "[[REDACTED]]"
},
"description": "Test donation.",
"item_list": {
"items": [{
"name": "Test donation.",
"description": "",
"quantity": "1",
"price": "0.01",
"currency": "GBP"
}]
},
"note_to_payee": "",
"payment_options": {
"allowed_payment_method": "INSTANT_FUNDING_SOURCE"
}
}],
"redirect_urls": {
"return_url": "[[REDACTED]]",
"cancel_url": "[[REDACTED]]"
}
}
Ответ от PayPal следующий:
{
"name": "VALIDATION_ERROR",
"message": "Invalid request - see details",
"debug_id": "[[REDACTED]]",
"information_link": "https:\/\/developer.paypal.com\/docs\/api\/payments\/#errors",
"details": [{
"field": "application_context.user_action",
"location": "body",
"issue": "{InvalidUserAction}"
}]
}
Глядя на документацию , правильное значение, которое я использовал для application_context.user_action
. Я знаю, что API устарел, но нет никаких упоминаний о том, что API не работает.