做跨境业务或者独立站收款时,只支持银行卡、PayPal、支付宝、微信支付往往还不够。对于面向欧洲用户的网站来说,银行转账也是比较常见的一种支付方式。
WooshPay 支持 Bank Transfer 银行转账支付方式,其中欧洲银行转账通道支持 EUR 欧元处理和结算,适合需要收欧元订单的网站使用。
本文以“易支付 + WooshPay Bank Transfer 插件”为例,演示如何在现有易支付系统中增加 WooshPay 欧洲银行转账通道,实现 EUR 欧元银行转账收款。
本文主要演示:
- 易支付安装 WooshPay Bank Transfer 插件
- 后台添加银行转账支付方式
- 新增 WooshPay 欧洲银行转账支付通道
- 配置商户密钥、支付接口、币种和汇率
- 测试银行转账支付、跳转收银台和订单回调
一、准备工作
开始之前,需要准备:
- 一套可正常运行的易支付系统
如果没有,可以到易支付源码及插件购买或下载。支付方式、支付通道、订单创建、异步回调等基础功能需要正常。 - WooshPay 商户账号
需要在 WooshPay 后台开通 Bank Transfer 相关产品。 - WooshPay 接口参数
插件一般需要填写:- Secret Key
- Publishable Key
- Webhook Secret
- 支付环境,测试环境或正式环境
- 交易汇率
- 回调地址
- 同步跳转地址
- 欧洲银行转账支付能力
WooshPay 文档中该通道的支付方式枚举值为:bank_transfer_eu支持币种:
EUR
支持退款:
Yes
- 网站 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 文档流程,用户大致会经历:
- 在收银台选择 Bank Transfer
- 填写支付信息
- 选择国家和银行
- 扫码支付或继续在电脑端完成支付
- 支付完成后等待 WooshPay 回调订单状态
所以这个通道更适合用 WooshPay Checkout 托管收银台完成支付,不建议自己在网站里手动收集复杂的银行信息。
这样有几个好处:
- 用户支付流程更完整
- 插件只需要创建 Checkout Session
- 支付页面由 WooshPay 处理
- 易支付只负责订单、跳转和回调
- 降低自己处理银行支付信息的复杂度
八、测试支付与回调
配置完成后,建议先使用测试环境,或者正式环境小金额测试。
测试流程:
- 新建一笔测试订单
- 选择“欧元银行转账”或 “Bank Transfer EUR”
- 跳转到 WooshPay Checkout 页面
- 确认支付方式为 Bank Transfer
- 选择国家和银行
- 按页面提示继续支付
- 支付完成后返回网站
- 查看彩虹易支付后台订单状态
- 确认订单是否自动变成已支付
如果支付成功但易支付订单没有变成已支付,需要重点检查:
- 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 工具站或者数字产品网站。








