4

我使用网络资源 SOAP 工具包 API 来执行交易。事务捕获工作正常,但是每当我尝试使事务无效时,我都会收到响应代码 246:“您要求对一种无法无效的事务进行无效”。为什么会这样?我已包含无效交易所需的所有参数

 RequestMessage request = new RequestMessage();
                request.voidService = new VoidService();
                request.voidService.run = "true";
                request.voidService.voidRequestID = "value";
                request.voidService.voidRequestToken = "value";
                request.merchantID = "value";
                request.merchantReferenceCode = "value";
                TransactionProcessorClient proc = new TransactionProcessorClient();
                proc.ChannelFactory.Credentials.UserName.UserName
            = "merchantID";
                proc.ChannelFactory.Credentials.UserName.Password
                    = "password";

                ReplyMessage reply = proc.runTransaction(request);
4

2 回答 2

4

我遇到了同样的问题。基本上,错误 246 意味着捕获信息已经发送到支付处理器。根据Cyber​​source 服务器发行说明

仅当我们尚未将信息提交给您的处理器时,交易才能无效。通常我们每天向您的处理者提交一次此类信息,因此您成功执行作废的窗口相对较小。如果我们已经将交易信息发送给处理者,我们将拒绝您的无效请求。

如果您在 Cyber​​source 沙箱上测试 void(就像我一样),我认为发生的情况是,由于沙箱是一个测试环境并且付款实际上并未发送到支付处理器,Cyber​​source 将捕获视为发送到立即支付处理器,因此取消捕获将永远不会在沙盒环境中起作用。

但是,我做了一些假设,但我找不到任何文档来肯定地验证这一点。

于 2012-12-13T23:25:19.287 回答
0

如果是,您是否尝试提出退款请求,如果正确,请尝试ccCreditServiceWork Perfect 。RequestID尝试ccCreditService取消付款订单。

于 2014-09-05T08:26:56.993 回答