网络资源的无效交易尝试给出错误

Posted

技术标签:

【中文标题】网络资源的无效交易尝试给出错误【英文标题】:Void transaction attempt for cybersource gives error 【发布时间】:2012-10-08 14:25:22 【问题描述】:

我正在使用网络资源 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);

【问题讨论】:

【参考方案1】:

我遇到了同样的问题。基本上,错误 246 意味着the capture information has already been sent to the payment processor。根据Cybersource server release notes:

只有在我们还没有提交交易的情况下才能取消交易 信息给您的处理器。通常我们提交那种类型的 每天一次向您的处理器提供信息,因此您的窗口 成功执行无效的相对较小。我们会拒绝 如果我们已经发送了交易信息,您的无效请求 到处理器。

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

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

【讨论】:

得到 Cyber​​Source 支持团队的确认:“Cyber​​Source 测试环境的配置方式不允许出现空洞。原因是“空洞”只是阻止交易被批处理出。但是,在测试环境中,没有批量交易。因此,您无法在测试环境中取消任何订单。" 感谢您更新此内容。在我看来,如果他们默认为 ACCEPT 而不是 REJECT(对于格式正确的请求)会更好。浪费时间..【参考方案2】:

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

【讨论】:

以上是关于网络资源的无效交易尝试给出错误的主要内容,如果未能解决你的问题,请参考以下文章

当我尝试播放不在 qrc 中的媒体文件时,出现错误“尝试播放无效的 Qt 资源”

使用 web3 v1.0 发送原始交易的无效类型错误

Guzzle |异步请求|资源类型错误无效

尝试从 API 中列出数据会给出错误消息“不变违规:元素类型无效:........”

支付宝错误。此交易无效。请返回收款人的网站以使用他们的常规结账流程完成您的交易

尝试在 Logic 应用中创建存储帐户时出现“无效资源”消息