如何在PHP中使用Authorize.net以编程方式退款?

如何在PHP中使用Authorize.net以编程方式退款?,php,cakephp,cakephp-2.0,payment-gateway,authorize.net,Php,Cakephp,Cakephp 2.0,Payment Gateway,Authorize.net,我在cakephp框架中使用Authorize.net支付模块(AIM)。支付功能运行良好。现在,我需要使用我的框架执行退款功能。我查了他们的Api,但什么都查不到。根据他们的API指南,如果我也传递了日期,则需要以下参数。在我的数据库中,我们只存储CC的最后4位数字。不管怎样,我尝试通过所有16位数字,但响应不正确。只是我需要一个示例PHP代码为Authorize.net退款 x_类型=信用 x\u trans\u id=此处的交易id x\u card\u num=完整的信用卡号码或此处仅最

我在cakephp框架中使用Authorize.net支付模块(AIM)。支付功能运行良好。现在,我需要使用我的框架执行退款功能。我查了他们的Api,但什么都查不到。根据他们的API指南,如果我也传递了日期,则需要以下参数。在我的数据库中,我们只存储CC的最后4位数字。不管怎样,我尝试通过所有16位数字,但响应不正确。只是我需要一个示例PHP代码为Authorize.net退款

x_类型=信用

x\u trans\u id=此处的交易id

x\u card\u num=完整的信用卡号码或此处仅最后四位数字

我正在传递以下参数

        "x_type"                => 'CREDIT',

        "x_trans_id"            => $x_trans_id,

        "x_card_num"            => '4111111111111111',

       "x_exp_date"            => '' ,

        "x_amount"                => $x_amount,

        'x_test_request' => TRUE 
现在,我收到以下错误消息:

(TESTMODE)需要有效的引用事务ID


即使不需要过期日期,您似乎仍然需要传递密钥,因为它位于所需的Authorize.net密钥列表中。只要通过
x\u exp\u date=>”
,你就应该很好了

文件上说不需要截止日期。确保包含最低限度的必填字段。您可以发布您尝试过的内容以及授权返回的错误吗?可能您只需要包含
x\u exp\u date
键,但将其留空。我更新了问题,请您检查jereIt对我来说是否都不错。您只是缺少一个有效的事务,如错误所示。可能是因为您处于测试模式。我添加了答案,因为它回答了这个问题:)