Klarna Payments 文档有点混乱,或者我只是误解了它。无论如何,我想,小部件提供了(完整的)表格,并且按照它的步骤,我将获得付款表格。这是错的。该小部件仅显示带有有关付款方式(-s)的信息的块(-s)。实际形式(单选按钮和一个或多个用于authorize呼叫的按钮等)是实施者关心的问题。
要获得多种定义的 Klarna 付款方式,需要执行以下步骤:
1Klarna 需要为此(测试)商家帐户激活这些方法。
会话初始化调用( )的响应中列出了可用的方法POST /payments/v1/sessions:
{
"session_id": "...",
"client_token": "...",
"payment_method_categories": [
{
"identifier": "direct_bank_transfer",
...
},
{
"identifier": "pay_later",
...
},
{
"identifier": "pay_over_time",
...
},
...
]
}
2将单个支付块加载到单独的 HTML 容器中:
<script>
window.klarnaAsyncCallback = function () {
Klarna.Payments.init({
client_token: CLIENT_TOKEN
});
Klarna.Payments.load(
{
container: '#klarna-payments-container1',
payment_method_category: 'pay_later'
},
function (res) {
console.debug(res);
}
);
Klarna.Payments.load(
{
container: '#klarna-payments-container2',
payment_method_category: 'pay_over_time'
},
function (res) {
console.debug(res);
}
);
Klarna.Payments.load(
{
container: '#klarna-payments-container3',
payment_method_category: 'direct_bank_transfer'
},
function (res) {
console.debug(res);
}
);
};
</script>
<div id="klarna-payments-container1"></div>
<div id="klarna-payments-container2"></div>
<div id="klarna-payments-container3"></div>
结果应如下所示:

而已。没有提供可见的表单元素(意思是:它已经是正确的结果)。实现者负责表单,现在可以自由地创建和装饰自定义表单。