我正在尝试使用Adyen的安全字段来加密购物者的敏感数据 https://docs.adyen.com/developers/checkout/api-integration
应该在页面上将输入呈现为iframe,但出现以下错误。
Libray嵌入 <head>
<script type="text/javascript" src="https://checkoutshopper-test.adyen.com/checkoutshopper/assets/js/sdk/checkoutSecuredFields.1.3.3.min.js"></script>
表格
<form class="flex-center position-ref h-100" action="{{ route('pay.credit') }}" method="post" id="adyen-encrypted-form">
@csrf()
@method('POST')
<div class="cards-div">
<div class="js-chckt-pm__pm-holder">
<input type="hidden" name="txvariant" value="card" />
{{--<div class="form-group">--}}
{{--<div class="form-control">--}}
<label>
<span class="input-field" data-cse="encryptedCardNumber"></span>
</label>
{{--</div>--}}
{{--</div>--}}
<div class="form-group">
<div class="form-control">
<label>
<span class="input-field" data-cse="encryptedExpiryMonth"></span>
</label>
</div>
</div>
<div class="form-group">
<div class="form-control">
<label>
<span class="input-field" data-cse="encryptedExpiryYear"></span>
</label>
</div>
</div>
<div class="form-group">
<div class="form-control">
<label>
<span class="input-field" data-cse="encryptedSecurityCode"></span>
</label>
</div>
</div>
<div id="pmHolder" class="js-chckt-pm__pm-holder">
<input type="hidden" name="txvariant" value="card">
<input type="hidden" name="encryptedCardNumber" id="card-encrypted-card" value="">
<input type="hidden" name="encryptedExpiryMonth" id="card-encrypted-month" value="">
<input type="hidden" name="encryptedExpiryYear" id="card-encrypted-year" value="">
<input type="hidden" name="encryptedSecurityCode" id="card-encrypted-code" value="">
</div>
<button type="submit" class="btn btn-success btn-lg btn-block">Pagar</button>
</div>
</div>
</form>
位于 <body>
<script type="text/javascript">
var csfSetupObj = {
rootNode: '.cards-div',
configObject : {
originKey : "pub.v2.8015418815230181.aHR0cDovL2FkeWVuLmJldGE.KfETYJbalDv9FEZ04R8azVjBqUreC611yhD-ZFMwZKI0"
}
};
var securedFields = csf(csfSetupObj);
</script>
答案 0 :(得分:2)
仅仅是因为我们也遇到了这个问题,
确保在生成originKey时输入的域上正在测试adyens脚本。
必须匹配这些脚本,脚本才能正常工作。如果要首先在本地进行测试,请像为luke_b建议的那样,在Adyen面板中仅为localhost:8080生成第二个originKey。
如果域和域不匹配,iframe将呈现,但它们不会出现(将显示:没有样式)
答案 1 :(得分:1)
答案 2 :(得分:0)
对我来说,我刚刚将本地开发域http://127.0.0.1:5000
添加到了Allowed origins
中的Customer Area