易支付对接欧洲银行转账插件教程,开通 EUR 欧元 Bank Transfer 收款

做跨境业务或者独立站收款时,只支持银行卡、PayPal、支付宝、微信支付往往还不够。对于面向欧洲用户的网站来说,银行转账也是比较常见的一种支付方式。

WooshPay 支持 Bank Transfer 银行转账支付方式,其中欧洲银行转账通道支持 EUR 欧元处理和结算,适合需要收欧元订单的网站使用。

本文以“易支付 + WooshPay Bank Transfer 插件”为例,演示如何在现有易支付系统中增加 WooshPay 欧洲银行转账通道,实现 EUR 欧元银行转账收款。

本文主要演示:

  • 易支付安装 WooshPay Bank Transfer 插件
  • 后台添加银行转账支付方式
  • 新增 WooshPay 欧洲银行转账支付通道
  • 配置商户密钥、支付接口、币种和汇率
  • 测试银行转账支付、跳转收银台和订单回调

一、准备工作

开始之前,需要准备:

  1. 一套可正常运行的易支付系统
    如果没有,可以到易支付源码及插件购买或下载。支付方式、支付通道、订单创建、异步回调等基础功能需要正常。
  2. WooshPay 商户账号
    需要在 WooshPay 后台开通 Bank Transfer 相关产品。
  3. WooshPay 接口参数
    插件一般需要填写:

    • Secret Key
    • Publishable Key
    • Webhook Secret
    • 支付环境,测试环境或正式环境
    • 交易汇率
    • 回调地址
    • 同步跳转地址
  4. 欧洲银行转账支付能力
    WooshPay 文档中该通道的支付方式枚举值为:bank_transfer_eu

    支持币种:

    EUR

    支持退款:

    Yes

  5. 网站 HTTPS 环境
    支付跳转和回调建议使用 HTTPS,否则可能影响支付成功后的返回和异步通知。

二、安装 WooshPay Bank Transfer 插件

将 WooshPay 银行转账插件上传到易支付网站插件目录,然后解压。

上传完成后,进入易支付后台:

支付插件 -> 刷新插件列表

正常情况下可以看到类似插件:

wooshpaybank / WooshPay欧洲本地银行

或者:

wooshpay / WooshPay支付

具体名称以你实际插件显示为准。

如果刷新插件列表后没有看到插件,可以检查:

  • 插件目录是否上传正确
  • 插件文件权限是否正常
  • PHP 版本是否兼容
  • 是否开启 curl、openssl 等扩展
  • 插件文件是否完整上传

三、添加支付图标

为了前台显示更清楚,可以在:

/assets/icon/

目录中放入银行转账图标,例如:

banktransfer.ico

或者:

不用管,默认是bank银行支付

如果插件压缩包里已经自带图标,默认可以不用修改。

前台支付名称建议不要写太长,可以使用:

  • Bank Transfer
  • EUR Bank Transfer
  • 欧元银行转账
  • 欧洲银行转账

如果你的用户主要是中文用户,可以显示成:

欧元银行转账

如果你的用户主要是海外用户,可以显示成:

Bank Transfer EUR

四、添加支付方式

进入彩虹易支付后台:

支付方式 -> 新增

添加一个新的支付方式:

显示名称:欧元银行转账
调用值:banktransfer

也可以使用:

显示名称:Bank Transfer EUR
调用值:bank(自带的调用值)

这里建议调用值保持简单,不要带空格和特殊符号。

如果你的插件内部已经指定调用值,也可以按照插件说明填写,例如:

bank_transfer_eu

重点是:支付方式调用值需要和插件识别逻辑保持一致,否则前台选择支付方式后,插件可能无法正确匹配到 WooshPay 银行转账接口。

五、新增支付通道

进入:

支付通道 -> 新增通道

新增 WooshPay 欧洲银行转账通道。

WooshPay Bank Transfer 通道

支付方式:欧元银行转账
支付插件:WooshPay银行转账
可用接口:Bank Transfer EU
支付枚举值:bank_transfer_eu
支付币种:EUR
交易汇率:按实际欧元汇率填写

例如:

交易汇率:7.80

含义是:

1 EUR ≈ 7.80 CNY

如果你的易支付订单金额是人民币,插件会把人民币订单金额换算成欧元提交给 WooshPay。

例如:

¥78.00 ÷ 7.80 = EUR 10.00

如果你的易支付系统本身已经按欧元下单,或者插件支持直接提交 EUR,则需要按照插件实际逻辑填写。不同插件的金额处理方式可能不一样,配置前最好先用小金额测试。

六、填写 WooshPay 接口参数

进入刚刚新增的支付通道配置页面,填写 WooshPay 参数。

常见配置包括:

Secret Key:填写 WooshPay 后台提供的密钥
Publishable Key:填写 WooshPay 后台提供的公钥
Webhook Secret:用于验证 WooshPay 回调签名
支付环境:测试环境或正式环境
支付方式:bank_transfer_eu
支付币种:EUR
交易汇率:按实际汇率填写
同步跳转地址:支付完成后返回网站
异步回调地址:用于 WooshPay 通知订单状态

WooshPay Bank Transfer in Europe,支付方式枚举 bank_transfer_eu。请在 WooshPay 后台配置 Webhook URL:/pay/notify/{channel}/,建议监听 checkout.session.completed、checkout.session.async_payment_succeeded、payment_intent.succeeded。

这里最容易出错的是:

  • 测试环境和正式环境密钥混用
  • Webhook Secret 填错
  • 支付方式枚举值填错
  • 币种没有使用 EUR
  • 汇率填写错误,导致提交金额过低或过高

WooshPay 文档中 Bank Transfer in Europe 的 Checkout 请求里,payment_method_types 使用的是:

bank_transfer_eu

币种使用:

EUR

所以插件配置里也要保持对应。

七、银行转账支付流程说明

WooshPay Bank Transfer 和普通钱包支付不太一样。

钱包支付通常是扫码、App 跳转或者输入验证码;银行转账一般会进入 WooshPay Checkout 页面,让用户选择银行转账支付方式,然后填写或选择相关银行信息。

根据 WooshPay 文档流程,用户大致会经历:

  1. 在收银台选择 Bank Transfer
  2. 填写支付信息
  3. 选择国家和银行
  4. 扫码支付或继续在电脑端完成支付
  5. 支付完成后等待 WooshPay 回调订单状态

所以这个通道更适合用 WooshPay Checkout 托管收银台完成支付,不建议自己在网站里手动收集复杂的银行信息。

这样有几个好处:

  • 用户支付流程更完整
  • 插件只需要创建 Checkout Session
  • 支付页面由 WooshPay 处理
  • 易支付只负责订单、跳转和回调
  • 降低自己处理银行支付信息的复杂度

八、测试支付与回调

配置完成后,建议先使用测试环境,或者正式环境小金额测试。

测试流程:

  1. 新建一笔测试订单
  2. 选择“欧元银行转账”或 “Bank Transfer EUR”
  3. 跳转到 WooshPay Checkout 页面
  4. 确认支付方式为 Bank Transfer
  5. 选择国家和银行
  6. 按页面提示继续支付
  7. 支付完成后返回网站
  8. 查看彩虹易支付后台订单状态
  9. 确认订单是否自动变成已支付

如果支付成功但易支付订单没有变成已支付,需要重点检查:

  • WooshPay Webhook 是否已经配置
  • 回调地址是否能公网访问
  • 网站 HTTPS 是否正常
  • Webhook Secret 是否填写正确
  • 插件是否正确验证回调签名
  • 订单金额和 EUR 金额是否一致
  • 汇率换算后是否和回调金额匹配
  • 服务器是否拦截了 WooshPay 回调请求

银行转账支付建议一定要以异步回调为准,不要只依赖用户浏览器同步跳转。

因为用户支付完成后可能关闭页面,或者银行页面没有正常跳回网站。如果只依赖同步跳转,订单状态可能无法正确更新。

九、退款说明

WooshPay 文档显示,该 Bank Transfer 通道支持退款,并且支持部分退款和多次部分退款。

也就是说,订单支付成功后,如果后续需要退款,可以通过 WooshPay 后台或接口发起退款。

不过是否能在彩虹易支付后台直接操作退款,要看插件有没有开发退款接口。

如果插件没有做后台退款功能,可以到 WooshPay 商户后台手动处理退款。

退款时需要注意:

  • 退款金额不能超过原订单金额
  • 部分退款后要记录清楚
  • 多次部分退款要避免重复操作
  • 易支付后台订单状态和 WooshPay 后台退款状态要对应
  • 数字产品或虚拟商品退款前要先确认交付情况

十、常见问题

1. WooshPay Bank Transfer 支持什么币种?

这次对接的是欧洲银行转账通道,文档显示处理币种和结算币种都是 EUR。

所以插件配置里建议使用:

EUR

如果订单是人民币金额,需要通过通道汇率换算成欧元提交。

2. 支付方式枚举值应该填什么?

WooshPay 文档中欧洲银行转账的枚举值是:

bank_transfer_eu

插件里如果有“可用接口”或者“支付方式类型”配置,一般就填写这个值。

3. 为什么用户要选择国家和银行?

Bank Transfer 银行转账支付需要根据用户所在地区和银行完成支付流程。

所以用户进入 WooshPay Checkout 后,可能需要选择国家、银行,或者按照页面提示扫码/继续支付。这是正常流程。

4. 支付成功后订单没有回调怎么办?

优先检查:

  • WooshPay 后台 Webhook 地址是否填写正确
  • Webhook Secret 是否和插件一致
  • 回调地址是否 HTTPS
  • 服务器防火墙是否拦截
  • 插件回调日志是否有验签失败
  • 订单金额和币种是否匹配

5. 为什么汇率很重要?

如果易支付订单是人民币,而 WooshPay 提交的是 EUR,就必须进行金额换算。

例如订单金额是 ¥78,汇率填写 7.80,则提交金额约为 EUR 10.00。

如果汇率填错,可能导致:

  • 提交金额过低
  • 提交金额过高
  • 支付金额和订单金额不匹配
  • 回调校验失败
  • 用户实际支付金额不准确

6. 这个通道支持拒付吗?

WooshPay 文档中该通道 chargeback 显示为不支持。
不过实际业务中仍然建议保留订单记录、用户信息、支付日志和商品交付记录,方便后续核对。

总结

通过 WooshPay Bank Transfer 插件,易支付可以扩展支持 EUR 欧元银行转账收款。

推荐配置方式是:

  • 支付方式显示为“欧元银行转账”或 “Bank Transfer EUR”
  • 支付枚举值使用 bank_transfer_eu
  • 支付币种使用 EUR
  • 前台跳转 WooshPay Checkout 完成支付
  • 回调通过 Webhook 自动更新易支付订单
  • 如果易支付订单是人民币,按欧元汇率换算提交
  • 支付成功、失败、取消、处理中状态都要正确处理

这种方式比较适合面向欧洲用户、需要欧元收款的独立站、资源站、会员站、SaaS 工具站或者数字产品网站。