0

如何使用 hybris CIS 支付向网络资源发送捕获请求。以下是我正在使用的方法,但它给了我 102 作为响应代码,回复消息为

The following request field(s) is either invalid or missing: auth_request_id

当我登录到 EBCtest 时,我能够看到捕获请求,但它没有任何详细信息。

下面是我正在使用的代码,试图通过硬编码金额、交易 ID 和授权 ID 来捕获金额

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);
4

2 回答 2

1

您发送的授权请求 ID 无效:auth_request_id=831000

以下是有效授权请求 ID 的示例:5499176942776634304004

Cyber​​Source 在对授权请求的响应中返回授权请求 ID。

于 2019-02-18T13:55:18.153 回答
0

这是如何解决的-

我更改了网址并更正了交易 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);
于 2019-02-28T08:05:56.860 回答