Authorize.net商家登录ID或密码无效或帐户无效

时间:2018-08-02 07:50:50

标签: php curl authorize.net

我知道这是一个重复的问题(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并收到了dataDescriptordataValue。 (令牌)

现在,我想通过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服务器中)上对此进行测试。

1 个答案:

答案 0 :(得分:0)

$url如下所示,它解决了我的问题。

https://apitest.authorize.net/xml/v1/request.api