Я разрабатываю платежный портал на своем веб-сайте, я правильно размещаю кнопки и сохраняю paymentId и PayerId, полученные из ответа API в моей базе данных.Однако я не могу получить идентификатор транзакции, который мне нужен.
Так как я делаю это впервые, я не знал, что мне нужно было выполнить платеж с помощью услуги, отличной от API, чтобы получить идентификатор транзакции (https://api.paypal.com/v1/payments/payment/PAYID-XXXXXX/execute),, так что теперь яМне нужно сгенерировать CSV с информацией о платеже, и чтобы получить ее правильно, я пытаюсь вызвать службу для каждого платежа, который я храню в своей базе данных, и, наконец, представить транзакции. Я действительно не знаю, является ли это правильным подходом для решенияэта проблема, но это то, что я нашел на странице PayPal.
Сначала я попытался с curl:
curl -v -X POST https://api.paypal.com/v1/payments/payment/PAYID-XXXXXXX/execute \
-H "Content-Type: application/json" \
-H "Authorization: Bearer XXXXXXXXXXXX" \
-d '{
"payer_id": "XXXXXXXXXXX"
}'
с правильной информацией (я сгенерировал свое разрешение на предъявителя, так что это не такпроблема), PAYID и payerID - те из моей базы данных, я считаю, что они правильные. Поэтому, когда я впервые понял это правильно, это было на самом деле успешно, а затем приступил к реализации в моем приложении реагирования с Axios, как это:
axios({
method:'POST',
url:"https://api.paypal.com/v1/payments/payment/" + list[index].pago.paymentId + "/execute",
responseType:'json',
headers: {
"Content-Type" : "application/json",
"Authorization" : "Bearer XXXXXXXXXXXXXXXXXXXXX"
},
data : {
payer_id : list[index].pago.payerId
}
}).then((response) => {
console.log(response)
})
* обратите внимание, что «список» - это мой список платежей, и у меня есть вся информация в pago. Я уже проверил, что информация верна.
Но я получил следующую ошибку:
{
"name":"INVALID_RESOURCE_ID",
"message":"The requested resource ID was not found",
"information_link":"https://developer.paypal.com/docs/api/payments/#errors",
"debug_id":"5614cdf9e45ca"
}
Поэтому я подумал, что это может быть проблема, связанная с моей средой разработки, и продолжил попытки с Почтальоном, но я получаю эту ошибку:
{
"name": "MALFORMED_REQUEST",
"message": "The request JSON is not well formed.",
"information_link": "https://developer.paypal.com/webapps/developer/docs/api/#MALFORMED_REQUEST",
"debug_id": "62277ab8964fd"
}
но я думаю, что это потому, что я не мог сделать запрос правильно.Я поместил payerId в "body".
Так что после этого я снова попытался использовать curl, чтобы проверить, все ли в порядке с моим запросом ... Теперь я также получаю ту же ошибку, что и Axios.
У меня такое чувство, что я что-то напортачил после первого успеха, и теперь я не знаю, как заставить это работать снова.
Этот подход неправильный?Служба Execute должна использоваться только один раз?Есть ли какой-нибудь другой лучший подход?
Заранее спасибо!