#rest #integration #payment-processing #wirecard
#rest #интеграция #обработка платежа #wirecard
Вопрос:
Я пытаюсь интегрировать платежи wirecard и столкнулся с проблемой при транзакции возврата.
С тестовым именем пользователя «70000-APILUHN-CARD» и паролем «8mhwavKVb91T» я создал обработку платежей и смог убедиться, что она прошла успешно. Но когда дело доходит до возврата, я получаю результат «метод 405 не разрешен».
Таким образом, запрос на оплату выглядит следующим образом:
POST https://wpp-test.wirecard.com/api/payment/register
С заголовком авторизации, включающим закодированное имя пользователя / пароль, заголовок типа содержимого и тело:
{
"payment" :
{
"merchant-account-id" :
{
"value" : merchantId
},
"request-id" : generatedRequestId,
"transaction-type" : "auto-sale",
"requested-amount" :
{
"value" : 1,
"currency" : "EUR"
},
"payment-methods" :
{
"payment-method" :
[
{"name" : "creditcard"}
]
}
},
"options" :
{
"mode" : "seamless",
"frame-ancestor" : ancestorURL
}
}
После проверки я смог проверить, что такая транзакция успешно завершена, и все в порядке, поэтому я попытался сделать запрос на возврат с теми же заголовками:
POST https://api-test.wirecard.com/engine/rest/merchants/{merchantId}/payments/{transactionId}
и тело:
{
"payment":{
"merchant-account-id":{
"value":merchantId
},
"request-id":generatedRequestId,
"requested-amount":{
"value":1,
"currency":"EUR"
},
"payment-methods":{
"payment-method":[
{
"name":"creditcard"
}
]
},
"card-token":{
"token-id":"4819253888096002"
},
"card":{
"expiration-month":"1",
"expiration-year":"2023",
"card-type":"visa"
},
"parent-transaction-id": parentTransactionId,
"transaction-type":"refund-request"
},
"options":{
"mode":"seamless",
"frame-ancestor":ancestorURL
}
}
Где все данные о карте / токене карты / etc были получены из запроса состояния транзакции.
Есть ли какие-либо ошибки в моем запросе на возврат или, может быть, есть какие-то дополнительные шаги, которые я должен выполнить?
Ответ №1:
Существует множество ошибок как в платежах, так и в запросах на возврат:
- В запросе на оплату должен быть указан «тип транзакции»: «покупка» вместо «тип транзакции»: «автоматическая продажа»
- Запрос на возврат должен содержать «тип транзакции»: «возврат-покупка» вместо «тип транзакции»: «запрос на возврат»
- Также запрос на возврат должен быть отправлен по URL: «https://api-test.wirecard.com/engine/rest/payments /»
(Из ответа службы поддержки wirecard)