尝试计算accept.js来替换Authorize.net付款的折旧方法。不执行任何复杂的操作,但使用沙箱时无法通过身份验证失败消息
登录到沙箱帐户以生成密钥…它们的名称与代码示例略有不同。所以我可能是个白痴。
OK,apiLoginID-很明显… 下面的代码调用data-clientKey。不能100%确定下面这两个中的哪一个是实际的。我都尝试过。两者相同。
API登录ID:4CLLpD ------
交易密钥:9628s6xCSh ------
密钥:------ A4D932A4AFED546DE55E4D04C16CA66549915AFDC4FBA3A1665E271A2FB48A7A34394843A47BC170FFB4A5B99EDD17B75D99942E4E7F7133C2E1 ------
<script type="text/javascript"
src="https://jstest.authorize.net/v3/AcceptUI.js"
charset="utf-8">
</script>
<form id="paymentForm"
method="POST"
action="mysite.com/beta-account/order-receipt.php" >
<input type="hidden" name="dataValue" id="dataValue" />
<input type="hidden" name="dataDescriptor" id="dataDescriptor" />
<button type="button"
class="AcceptUI btn-success btn-lg"
data-billingAddressOptions='{"show":true, "required":false}'
data-apiLoginID="4CLLpDX----"
data-clientKey="9628s6xCShc-----"
data-acceptUIFormBtnTxt="Submit"
data-acceptUIFormHeaderTxt="Card Information"
data-responseHandler="responseHandler">Pay
</button>
</form>
<script type="text/javascript">
function responseHandler(response) {
if (response.messages.resultCode === "Error") {
var i = 0;
while (i < response.messages.message.length) {
console.log(
response.messages.message[i].code + ": " +
response.messages.message[i].text
);
i = i + 1;
}
} else {
paymentFormUpdate(response.opaqueData);
}
}
function paymentFormUpdate(opaqueData) {
document.getElementById("dataDescriptor").value = opaqueData.dataDescriptor;
document.getElementById("dataValue").value = opaqueData.dataValue;
document.getElementById("paymentForm").submit();
}
</script>
现在,order-receipt.php页面上实际上没有任何内容。我只是想把帖子做到这一点,并向我展示所有张贴到页面上的内容,因此,即使我能正常工作,我仍然有路要走。
当我转到付款页面时,点击“付款”按钮,填写信用卡表格,然后点击“提交”……它什么都没有。它停留在页面上,并且控制台报告:“ E_WC_21:由于无效的验证值,用户验证失败。”
在authorize.net上记录了我需要做的有关MD5寿命终止的事情的文档后,这变成了一件令人沮丧的事情……我永远无法获得任何替代品。正在使用的SIM卡中继响应方法。作为替代品,response.js似乎很简单,我也被困在这里。
接下来我该怎么做?
答案 0 :(得分:0)
好的,我想我找到了问题…… API登录ID,事务密钥和客户端密钥之间有区别。 在某些文档中,这并不是立即显而易见的……。