用途:指导在以色列应用中集成 Grow(原 Meshulam)支付网关的 Light API,完成支付全流程,包括收款、保存卡令牌、定期扣款、支付链接、退款和实时 Webhook 通知。官方文档:https://developers.grow.business/
主要能力与集成模式:
- 支付页面:Grow 托管表单,通过 iframe 或跳转嵌入,适合电商结账和一次性付款。接口 createPaymentProcess,需要 pageCode、userId、sum、successUrl、cancelUrl、description、pageField[fullName]、pageField[phone] 等字段,响应返回 url 供跳转或 iframe 使用。可选参数含 paymentNum、maxPaymentNum、chargeType、notifyUrl、invoiceNotifyUrl、cField1-cField9、productData 发票行项目和 transactionTypes。
- SDK Wallet:将模块化 JS SDK 嵌入页面,自定义 UX。transactionTypes 数组索引选择支付方式槽位,值为方法代码:信用卡 1、Bit 6、Apple Pay 13、Google Pay 14、银行转账 15、Pay Box 默认 5。
- 支付链接:createPaymentLink 生成可分享链接,用于发票和远程付款;用 getPaymentLinkInfo 查询,需要 paymentLinkProcessToken。updatePaymentLink 在 Light API 上不可用,返回 unknown method,只能新建替换链接。
- 令牌化与定期扣款:首次支付后回调的 transactionToken 作为 cardToken。createTransactionWithToken 直接扣款,参数为 cardToken(非 token)、paymentType=2,需 userId 和 paymentNum(单次传 1)。支持 Grow 托管(专用 recurring 页面码)、保存令牌扣款、recurringDebitId 高级定期系列三种模式。getTokenOnly 在当前 Light API 路径返回 unknown method,不能依赖。
- 查询、退款与取消:getTransactionInfo、getPaymentProcessInfo 查询详情;refundTransaction 使用 refundSum 作金额参数(部分或全额),需要 transactionId 和 transactionToken;cancelBitTransaction 按 processId 和 processToken 取消 Bit。
使用方式(关键要求):
- 凭证:userId(商户标识)、pageCode(支付页面配置,不同类型页面码不同)、apiKey(管理多业务或特定配置时用)。
- 环境:沙箱 https://sandbox.meshulam.co.il,生产 https://secure.meshulam.co.il。
- 请求体必须是 multipart/form-data,不能发 application/json,否则字段不会被解析。
- 所有 API 请求只能从服务器端发出,浏览器端请求会被 Grow 阻止。
- 每个响应 HTTP 状态都是 200,成功看 body 中 status:1,失败为 status:0 并带 err 对象。status 有时是字符串有时是数字,需宽松比较。err 形态有三种:对象 {id,message}、字符串 "unknown method"、err.id 有时本身是对象(如 getTokenTransactionsByExternalIdentifiers 返回 err.id.content)。
适用场景与限制: 适用以色列商户的信用卡、Bit、Apple Pay、Google Pay 收款、订阅与发票收款。限制与注意点:支付页面 URL 应视为短时效,每次结账新建一个(具体时长未确认);服务端回调 notifyUrl 是未签名公共 POST,webhookKey 不是共享密钥,必须再调用 getTransactionInfo/getPaymentProcessInfo 回查,并核对金额、用 transactionId 去重、使用不可猜路径;approveTransaction 在收到回调后为强制步骤,需要 transactionId 和 transactionToken 两者,缺失返回 err.id 54,且不要对纯保存令牌、延迟交易或 createTransactionWithToken 调用;createTransactionWithToken 的 transactionUniqueIdentifier 作为幂等键,网络超时不要换新 ID 重试,err.id 712 表示已执行而非错误;退款专属错误含 105/218、130/207、210、110。缺失信息:开发者支持邮箱未在本周期经官方文档确认;未调用 approveTransaction 的后果无文档说明,不猜测。