Используйте поле clientReferenceInformation
> transactionId
. Вы можете увидеть это в на игровой площадке с телом запроса, например:
{
"clientReferenceInformation": {
"code": "TC50171_3",
"transactionId": "465465411adfasdfsdf"
},
"processingInformation": {
"reconciliationId": "1234"
},
"paymentInformation": {
"card": {
"number": "4111111111111111",
"expirationMonth": "12",
"expirationYear": "2031"
}
},
"orderInformation": {
"amountDetails": {
"totalAmount": "102.21",
"currency": "USD"
},
"billTo": {
"firstName": "John",
"lastName": "Doe",
"address1": "1 Market St",
"locality": "san francisco",
"administrativeArea": "CA",
"postalCode": "94105",
"country": "US",
"email": "test@cybs.com",
"phoneNumber": "4158880000"
}
}
}
Если вы включите один и тот же transactionId
дважды, серверная часть скажет вам , чтобы согнуться INVALID_DATA
. Я действительно ожидал, что он вернет DUPLICATE_REQUEST
в качестве причины (это в их списке возможных ответов), но это лучше, чем ткнуть в глаз острой палкой.