我正在电子商务页面中实施Commerzbank的付款模块(文档:https://commerzbank.docs.oppwa.com/tutorials/integration-guide),如果您查看第2步,您会发现我必须加载包含变量的javascript文件( checkoutId
)来源。
<script src="https://test.oppwa.com/v1/paymentWidgets.js?checkoutId={checkoutId}"></script>
这样的脚本看起来像这样:
(function(){
var wpwl = wpwl || {};
// timestamp
wpwl.timestamp = new Date().toUTCString();
// paymentWidgets.js request
wpwl.minified = true;
wpwl.checkoutId = "D7953E29AA922D918F02A1C268C0230E.sbg-vm-tx02";
// environment
wpwl.url = "https://test.oppwa.com";
wpwl.cacheVersion = "1814c6681b9c8a96918c1f4883f0649e";
wpwl.isTestSystem = true;
wpwl.apiVersion = "1";
// ndc
wpwl.ndc = "D7953E29AA922D918F02A1C268C0230E.sbg-vm-tx02";
// payment config
wpwl.paymentWidgetConfig = {"brandConfig":{"brands":["ADVANTAGE","BARPAY","CARDFINANS"],"overrideShopBrands":false,"activateBrands":false},"registrations":[],"detectIp":false,"environmentConfig":{"url":"https://test.oppwa.com","defaultPaymentMode":"INTEGRATOR_TEST","cacheVersion":"1814c6681b9c8a96918c1f4883f0649e"},"workflowSpecificConfig":{"aliRiskConfig":{"active":false,"aliRiskParameters":{"clientAppName":"PAY.ON"}},"kountConfig":{"active":false,"merchantId":"","sessionId":""},"gfklConfig":{"active":false}}};
wpwl.aliRiskParams = {"clientAppName":"PAY.ON"};
wpwl.kountSessionId = '';
wpwl.endPoint = "/payment";
// expose wpwl to global
window.wpwl = wpwl;
// load static files async
(function(d,t,w,s,j){
s = d.createElement(t), j = d.getElementsByTagName(t)[0];
s.src = [w.url, "/v", w.apiVersion, "/static/", w.cacheVersion, "/js/static", w.minified ? ".min" : "", ".js"].join("");
s.async = true;
j.parentNode.insertBefore(s, j);
}(document, "script", wpwl));
}());
我正在使用Angular和ui-router。每当我注入这个javascript时,它都会用Commerzbank的安全表单替换我的表单,用户可以在其中输入他的信用卡信息(正确的行为)。但是在第3步中,即使我输入它,我总是会收到错误credit card number may not be null
。
我已经联系了他们的支持,我们已经看了这个问题差不多2个月了。不幸的是,他们没有使用Angular的经验。我非常确定这与脚本注入的方式(或时间)有关。
当我对src进行硬编码时,它只适用于我一次。对于德国商业银行的支持,我的版本适用于在线测试环境。我转到同一页面,它不起作用。我已经确认它可以通过屏幕共享为它们工作。
我知道这听起来很奇怪 - 为什么相同的代码会对他们起作用,但不适合我。必须有一点我不知道。我非常确定这是太具体而且信息不足,但我无法帮助发布绝望信息。
答案 0 :(得分:0)
我发现了问题。最后,将 Commerzbank表单嵌入我的外部表单进行整个结帐只是一个问题。我将把这个问题留在这里,以备将来参考其他人面临这个问题的不太可能的情况。
一个简单的解决方案是将其表单嵌套到另一个表单中。在不符合您逻辑的情况下,我可以在获得支持后了解更多详细信息。