You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Klarna支付授权回调响应中获取authorization_token

解决Klarna支付回调中提取authorization_token的问题

1. 从JS授权回调中直接提取token

Klarna Payments的authorize方法在授权成功后,会返回包含authorization_token的响应对象,你可以直接在回调函数里访问这个字段:

// 基于你已初始化的klarnaPayments实例
klarnaPayments.authorize({
  payment_method_category: 'pay_later' // 替换为你的实际支付方式类别
}, function(response) {
  if (response.approved) {
    // 提取authorization_token
    const authToken = response.authorization_token;
    
    // 输出到控制台(用于验证)
    console.log('Authorization Token:', authToken);
    
    // 这里执行后续业务逻辑
  } else {
    console.error('授权失败:', response.error);
  }
});

2. 将token传递到后端PHP(用于后续流程)

如果后续需要用PHP处理该token(比如创建正式订单),可以用以下两种方式传递:

方式一:隐藏表单提交

<!-- 页面中添加表单 -->
<form id="klarnaSubmitForm" action="your_process_page.php" method="POST">
  <input type="hidden" name="authorization_token" id="authTokenInput">
  <button type="submit">确认完成支付</button>
</form>

在JS回调中赋值并提交:

if (response.approved) {
  const authToken = response.authorization_token;
  document.getElementById('authTokenInput').value = authToken;
  // 可选择自动提交,或让用户手动点击按钮
  document.getElementById('klarnaSubmitForm').submit();
}

PHP接收代码:

<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  $authToken = $_POST['authorization_token'];
  // 后续用此token调用Klarna订单创建API等操作
  echo '收到的授权Token:' . $authToken;
}
?>

方式二:AJAX异步传递

if (response.approved) {
  const authToken = response.authorization_token;
  fetch('your_process_page.php', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded',
    },
    body: `authorization_token=${encodeURIComponent(authToken)}`
  })
  .then(res => res.text())
  .then(data => {
    console.log('后端处理结果:', data);
    // 如跳转支付成功页面等后续操作
  })
  .catch(err => console.error('Token传递失败:', err));
}

PHP接收逻辑和方式一一致。

3. 注意事项

  • 仅在response.approved为true时提取token,避免处理授权失败的无效数据
  • 传递token时用encodeURIComponent编码,防止特殊字符导致的参数异常
  • 后端接收后需验证token有效性,再执行订单创建等核心操作

内容的提问来源于stack exchange,提问作者Ria

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 07:31:17