GTS*_*Joe 2 php authorize.net laravel php-7.4
我正在尝试使用我的 Laravel 7 应用程序和 Authorize.net 进行测试交易。
提交样本数据后,我得到:
命名空间“AnetApi/xml/v1/schema/AnetApiSchema.xsd”中的元素“createTransactionRequest”在命名空间“AnetApi/xml/v1/schema/AnetApiSchema.xsd”中具有无效的子元素“clientId”。预期可能元素的列表:命名空间“AnetApi/xml/v1/schema/AnetApiSchema.xsd”中的“merchantAuthentication”。
有谁知道导致此错误的原因或如何修复它?
好吧,我会回答我自己的问题,因为它可能对其他人有帮助。问题是 Authorize.net 响应中的错误消息确实很模糊。
Kurt Friars 的评论很有帮助,因为它为我指明了正确的方向。至于 Mansour Hamcherif 的建议,merchantAuthentication 对象是在我的应用程序中设置的,它只是没有正确的值,所以不是那样的。
我的解决方案是为 setName() 和 setTransactionKey() 设置正确的值。参与该项目的前一位开发人员已经留下了值,并且凭证已过期。我在 Linux 文本中搜索“setTransactionKey”,这使我找到了需要设置的正确 PHP 文件:
$merchantAuthentication = new AnetAPI\MerchantAuthenticationType();
$merchantAuthentication->setName('EnterYourLoginNameHere');
$merchantAuthentication->setTransactionKey('EnterYourTransactionKey');
Run Code Online (Sandbox Code Playgroud)
之后,我清除了所有 Laravel 应用程序的缓存以及浏览器的缓存,进行了硬重新加载,再次尝试事务,结果成功了!我有:
This transaction has been approved., Transaction ID: **********.
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2189 次 |
最近记录: |