通过CIS支付获取网络资源

时间:2019-02-15 09:49:11

标签: hybris credit-card cybersource

如何使用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);

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

这是解决问题的方式-

我更改了网址并更正了交易ID

授权ID

OLD-https://ics2wstest.ic3.com/commerce/1.x/transactionProcessor?auth_request_id=831000

正确-https://ics2wstest.ic3.com/commerce/1.x/transactionProcessor/831000

交易ID

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