如何使用hybris CIS支付向cybersource发送捕获请求。下面是我正在使用的方法,但它给了我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);发布于 2019-02-18 21:55:18
您发送的授权请求ID无效: auth_request_id=831000
以下是有效授权请求ID: 5499176942776634304004的示例
授权请求ID由CyberSource在响应授权请求时返回。
发布于 2019-02-28 16:05:57
以下是它是如何解决的-
我更改了url并更正了事务id。
授权ID
旧https://ics2wstest.ic3.com/commerce/1.x/transactionProcessor?auth_request_id=831000
正确- https://ics2wstest.ic3.com/commerce/1.x/transactionProcessor/831000
事务id
旧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);https://stackoverflow.com/questions/54706622
复制相似问题