【问题标题】:How to refund transaction via VBA with Authorize.net?如何使用 Authorize.net 通过 VBA 退款交易?
【发布时间】:2020-06-16 01:05:49
【问题描述】:

我在 Access 应用程序中使用 VBA 将信用卡应用程序传递给 Authorize.net。

在沙盒中,当我发出请求并获得响应时,响应如下所示:

1|1|1|此交易已获批准。|MKCE58|Y|60138643909|06731|公司名称|15.00|CC|auth_capture||||||||||||||||| ||||||||P|2||||||||||XXXX1111|签证|||||||1UMB1CSPUW5QIHHZIATBZCO||||||||||

此响应字符串的哪个元素是我在发出此交易退款时必须捕获和使用的值?

当我尝试使用“MKCE58”或“60138643909”作为 TransactionID 对交易进行退款时:

post_string = post_string & "x_trans_id=" & URLEncode(strTransID) & "&"

我收到以下回复:

“引用的交易不符合信用证的标准。”

我在 SO 上发现了一篇非常旧的帖子,表明我需要将我的帐户模式从 Live 更改为 Test,我做到了。但这并没有解决这种情况。

【问题讨论】:

    标签: authorize.net


    【解决方案1】:

    看起来您正在使用 AIM API,因此该管道分隔字段中的第七个值 60138643909 是您将用于请求退款的交易 ID。

    要退款,必须满足以下条件:

    • 交易最初已通过支付网关 (Authorize.Net) 处理并成功结算。
    • 交易是使用原始的有效交易ID(x_trans_id)提交的, 交易成功。
    • 申请退款的金额小于等于原结算金额 金额。
    • 针对原始交易提交的多个 Credit 交易的总和小于或等于原始结算金额。
    • 至少提交用于原始成功结算交易的信用卡号 (x_card_num) 的最后四位数字。不需要截止日期。
    • 交易在原交易结算日后120日内提交。

    【讨论】:

    • 我仍然收到响应:引用的交易不符合发放信用的标准。在发布原始交易约一分钟后尝试发布退款时,我收到此错误。响应如下所示: 3|2|54|引用的交易不符合发放信用的标准。||P|0||退款|15.00|CC|信用||||||||| |||||||||||||||||||||||||||XXXX1111|签证|||||||||||||||||从原始请求中传入完整的卡#、金额、TrasactionID 后。
    • 您无法对刚刚发送的交易进行退款,因为在该批次隔夜结算之前无法退款。 (见要点#1)。如果您想立即或当天取消交易,您需要运行 VOID。
    • 约翰,你如何实现“无效”,与退款相比,请求有什么不同?
    • x_type=VOID。您还需要通过交易 ID 发送
    猜你喜欢
    • 2012-11-19
    • 2013-05-26
    • 2013-03-07
    • 2012-11-19
    • 2013-07-23
    • 2015-04-06
    • 2018-04-08
    • 2013-06-07
    • 2011-12-22
    相关资源
    最近更新 更多