我知道这是一个重复的问题(13) The merchant login ID or password is invalid or the account is inactive.(usig Aim method for authorize.net),但是这个答案不能解决我的问题。让我解释一下。
Authorize.Net实现AcceptJ来接收opaqueData
。我已经成功测试了opaqueData并收到了dataDescriptor
和dataValue
。 (令牌)
现在,我想通过Authorize.net接受付款。在本指南https://developer.authorize.net/api/reference/features/acceptjs.html#response-handling中,我想通过PHP实现接受付款方式。这是我的代码:
$url = "https://test.authorize.net/gateway/transact.dll";
$query = <<<EOT
<createTransactionRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>API_LOGIN_ID</name>
<transactionKey>API_TRANSACTION_KEY</transactionKey>
</merchantAuthentication>
<transactionRequest>
<transactionType>authCaptureTransaction</transactionType>
<amount>10</amount>
<payment>
<opaqueData>
<dataDescriptor>COMMON.ACCEPT.INAPP.PAYMENT</dataDescriptor>
<dataValue>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</dataValue>
</opaqueData>
</payment>
</transactionRequest>
</createTransactionRequest>
EOT;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));
curl_setopt($ch, CURLOPT_POSTFIELDS, "$query");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
print_r($output);
它向我显示了错误:
(13)商家登录ID或密码无效或帐户无效。
我检查了我的Authorize.net test mode
是否打开。另外,我再次确认输入了正确的凭据。那是什么问题?
PS:我正在通过localhost在https(在ubuntu服务器中)上对此进行测试。
答案 0 :(得分:0)
$url
如下所示,它解决了我的问题。
https://apitest.authorize.net/xml/v1/request.api