如何通过WorldPay API实现带支付链接的付款邮件自动发送?
WorldPay旧版Business Manager付款邮件自动化方案落地说明
直接说结论:你想做的两个自动化方向都能实现,之前查官方文档找不到对应内容,基本都是因为搜成了新版WorldPay平台的REST API资料——你现在用的旧版Business Manager配的是老的Legacy XML API,新旧两套系统的账号、接口、参数完全不搭,找错文档自然摸不到头绪。
前置准备
先开API权限:用商户管理员账号登进旧版Business Manager,在「设置-配置文件-API访问」里自己就能开通XML API访问权限,拿到商户编码、XML接口用户名、认证密码三个凭证就能调接口,不用找WorldPay销售走审批。
两个方案的具体落地方式
方案1:让WorldPay自动发带支付链接的付款邮件
- 直接调XML API的提交订单接口,传参时打开自动发件开关就行。接口请求成功后,WorldPay会自动给这个订单生成一次性支付链接,用你后台提前设好的邮件模板给客户发付款通知,发件人显示的信息和你之前手动发邮件的商户信息完全一样。
- 适合场景:对邮件样式没什么定制要求,不想自己搭发件服务的情况,很多小商户直接用这个方案,对接最快,基本半天就能调通。
- 核心请求结构参考:
<?xml version="1.0" encoding="UTF-8"?> <paymentService version="1.4" merchantCode="填自己的商户编码"> <submit> <order orderCode="填自己系统里的唯一订单号"> <description>订单付款通知</description> <amount value="10000" currencyCode="CNY" exponent="2"/> <orderContent>您有一笔待支付订单,请完成付款</orderContent> <paymentMethodMask> <include code="ALL"/> </paymentMethodMask> <shopper> <shopperEmailAddress>填客户的邮箱地址</shopperEmailAddress> </shopper> <!-- 打开自动发付款邮件的开关 --> <sendPaymentLink enabled="true" /> </order> </submit> </paymentService>
- 注意:这个方案的邮件模板自定义权限很低,只能改正文里预留的自定义文本块,头图、版式这些固定内容改不了,对品牌邮件要求高的话不适合用。
方案2:自己生成链接后发定制化邮件
- 这是现在大部分有定制需求的商户用的方案:还是调同一个提交订单接口,把
sendPaymentLink参数设成false,接口返回的结果里会带这个订单专属的一次性支付链接,你把链接拼到自己做的品牌邮件模板里,用自己的邮件服务发就行,什么时候发、发什么内容、加什么营销信息全自己控制。 - 注意:生成的支付链接有效期和你后台设的订单超时时间一致,默认是14天,可以自己在后台改;每个订单必须单独生成链接,别图省事复用同一个链接,后面对账会乱。
踩坑提醒
- 旧版XML API只认XML格式的请求,不支持JSON,请求地址是旧版专属的,别抄新版API的地址,不然会一直报认证失败。
- 搜开发资料的时候记得加
Legacy XML API的关键词,别搜新版WorldPay的开发文档,找错了根本对不上参数。 - 不管用哪个方案,API生成的订单和你之前手动在后台建的订单没有任何区别,都会同步到Business Manager的订单列表里,后面退款、查账、导报表的操作和原来完全一样,不影响现有流程。
内容的提问来源于stack exchange,提问作者Andrei Bazanov
相关产品推荐
相关产品推荐

