跳到主要内容

Iframe:弹窗支付

iframe 模型会将第三方支付窗口嵌入到 Shoplazza 结账页中。

时序步骤

iframe 支付时序图

  1. 顾客选择支付方式并点击完成支付。
  2. 浏览器将支付请求发送到 Shoplazza 服务器。
  3. Shoplazza 服务器将支付请求转发给支付应用服务器。
  4. 支付应用服务器向 Shoplazza 服务器返回跳转 URL。
  5. Shoplazza 服务器将跳转 URL 返回给浏览器。
  6. 浏览器在 iframe 或弹窗容器中打开第三方支付页面。
  7. 顾客在支付窗口中提交支付信息。
  8. 支付应用服务器调用 Complete Payment API。
  9. Shoplazza 向支付应用服务器返回跳转 URL。
  10. 如果支付失败,顾客会被跳转到支付请求中的 cancel_url
  11. 如果支付成功,顾客会被跳转到 Shoplazza 返回的 complete_url
  12. 顾客进入订单支付结果页。
  13. 支付应用服务器向 callback URL 发送最终支付结果通知。
  14. Shoplazza 以 HTTP 200 确认收到通知。

支付请求

iframe 支付使用与 sale 模型相同的支付 Session 请求结构。支付应用返回 redirect_url,Shoplazza 会在 iframe 或弹窗支付容器中加载该 URL。

{
"redirect_url": "https://payment-gateway.example/iframe"
}

iframe 尺寸

支付应用可以自定义 iframe 尺寸:

  • 宽度和高度以像素为单位,不需要填写单位。
  • 最小宽度为 300px
  • 最小高度为 200px
  • 最大宽度和高度不能超过屏幕尺寸。
  • 超过屏幕尺寸时默认使用 80vw x 80vh

失败响应

失败时返回错误码和错误信息。

{
"code": "ERR-1234",
"message": "Invalid amount"
}