Changelog
Orders
Enhancements
- Update: When customers pay through certain providers, they may enter an amount different from the original order amount specified by the merchant during order creation (
order -> cost -> amount
) or the provider might adjust the amount. In these cases, both the amount in the Retrieve Order Details endpoint and the callback for payment status will now reflect the actual amount paid or modified by the provider indata -> cost -> amount
, rather than the initial amount specified by the merchant.
Bug Fixes
- Fix: Corrected a naming issue in the order status callback where the
rrn
parameter (payments -> paymentDetails -> rrn
) was incorrectly returned asrnn
. The parameter is now correctly returned asrrn
. - Fix: Added a new
paymentStatus
object to thepayments
array in the Retrieve Order Details endpoint response and the order status callback. This object contains the payment status and additional error details in thedetails
object if the payment status isfailed
.
Payouts
Bug Fixes
Fix: Resolved an issue in the POST Retrieve Required Payout Fields endpoint where the
value
andlabel
parameters in theoptions
array were swapped. The values now correctly match the documentation:Before:
"options": [
{
"value": "Checking account",
"label": "C"
}
]Now:
"options": [
{
"value": "C",
"label": "Checking account"
}
]
Upcoming changes in the next release
Payouts
Enhancements
- Update: In the upcoming release on August 27, the response structure of the Retrieve Payout Status endpoint will be expanded. Backward compatibility with the current response format will be maintained.
danger
Breaking Changes
- Change: The structure of the Payout Callback will be modified in the release scheduled for August 27. This change is not backward compatible. The new structure will match the expanded response format of the Retrieve Payout Status endpoint.
Here is the structure of the Retrieve Payout Status response and the Payout Callback structure that will be introduced in the August 27 release:
{
"data": {
"shopId": 123,
"id": 54222,
"payoutStatus": "in_progress",
"payoutNumber": "56573FDFVFDBWF",
"purpose": "string",
"cost": {
"amount": "56.99",
"currency": "USD",
"region": "RU"
},
"payoutCreatedAt": "2023-08-29T15:34:56+03:00",
"payoutPaidAt": "2023-08-29T15:34:56+03:00",
"payoutTransactions": [
{
"transactionId": "79",
"providerTransactionId": "990943",
"cost": {
"amount": "56.99",
"currency": "USD"
},
"provider": {
"code": "fyst"
},
"acquirer": {
"code": "fyst"
},
"instrumentType": "card"
}
],
"customer": {
"customerId": "56656",
"firstName": "John",
"lastName": "Doe",
"middleName": "James",
"phone": "79221110500",
"email": "john.doe@mymail.com"
},
"payoutDetails": {
"recipient": {
"paymentSystem": "visa", // returned only if instrumentType = card
"maskedCardNumber": "123456******7890", // returned only if instrumentType = card
"walletId": "34534534333", // returned only if instrumentType = wallet
"accountNumber": "34543243243534333", // returned only if instrumentType = bank_transfer
"transferType": "sbp" // returned only if instrumentType = bank_transfer
},
"sender": {
"paymentSystem": "visa", // returned only if instrumentType = card
"maskedCardNumber": "123456******7890", // returned only if instrumentType = card
"walletId": "34534534333", // returned only if instrumentType = wallet
"accountNumber": "34543243243534333" // returned only if instrumentType = bank_transfer
}
}
}
}