如何使用Authorize.net通过VBA退款交易?

时间:2020-03-03 15:44:14

标签: authorize.net

我在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上发现了一个很老的帖子,它表明我需要将我的帐户模式从实时更改为测试,而我做到了。但这并不能解决这种情况。

1 个答案:

答案 0 :(得分:0)

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

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

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