如何使用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);
答案 0 :(得分:1)
您发送的授权请求ID无效:auth_request_id = 831000
以下是有效授权请求ID的示例:5499176942776634304004
CyberSource在对授权请求的响应中返回授权请求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);