Захват киберресурса через платёж СНГ
Как я могу отправить запрос захвата в кибер-источник с помощью оплаты Hybris CIS. Ниже приведен метод, который я использую, но он дает мне 102 в качестве кода ответа с ответным сообщением в виде
The following request field(s) is either invalid or missing: auth_request_id
Я могу увидеть запрос захвата при входе в EBCtest, но он не содержит никаких подробностей.
Ниже приведен код, который я использую, пытаясь получить сумму путем жесткого кодирования суммы, идентификатора транзакции и идентификатора авторизации.
CisPaymentRequest cisPaymentRequest=new CisPaymentRequest();
//cisPaymentRequest.setParameters(new AnnotationHashMap(getAnnotationHashMap()));
cisPaymentRequest.setAmount(new BigDecimal(58.55));
cisPaymentRequest.setCurrency("USD");
final CisPaymentTransactionResult captureResult = getCisClientPaymentService().capture(CLIENT_REF, "single",new URI("https://ics2wstest.ic3.com/commerce/1.x/transactionProcessor?auth_request_id=831000"),"D99OZS1FU15J", cisPaymentRequest);
2 ответа
Идентификатор отправляемого вами запроса на авторизацию недействителен: auth_request_id=831000
Вот пример допустимого запроса авторизации ID: 5499176942776634304004
Идентификатор запроса авторизации возвращается CyberSource в ответ на запрос авторизации.
Вот как это было решено-
Я изменил URL и исправил идентификатор транзакции
ID авторизации
СТАРЫЙ - https://ics2wstest.ic3.com/commerce/1.x/transactionProcessor?auth_request_id=831000
Исправьте - https://ics2wstest.ic3.com/commerce/1.x/transactionProcessor/831000
Номер транзакции
СТАРЫЙ - D99OZS1FU15J
Правильный - 5512968196316020204007
CisPaymentRequest cisPaymentRequest=new CisPaymentRequest();
//cisPaymentRequest.setParameters(new AnnotationHashMap(getAnnotationHashMap()));
cisPaymentRequest.setAmount(new BigDecimal(58.55));
cisPaymentRequest.setCurrency("USD");
final CisPaymentTransactionResult captureResult = getCisClientPaymentService().capture(CLIENT_REF, "single",new URI("https://ics2wstest.ic3.com/commerce/1.x/transactionProcessor/831000"),"5512968196316020204007", cisPaymentRequest);