如何将Flutter Pay生成的令牌与Cybersource API适配用于Google Pay及Apple Pay?
Flutter Pay令牌对接Cybersource API实操指南
核心差异说明
Stripe直接支持用Flutter Pay令牌发起支付,但Cybersource需要先将Flutter Pay生成的EMVCo标准令牌转换为自身体系的支付令牌,再发起支付请求。以下是具体步骤:
解析Flutter Pay返回的令牌结构
Flutter Pay返回的令牌核心字段是paymentMethodToken.token,这是符合EMVCo标准的加密银行卡令牌,同时会附带卡品牌、后四位等元数据。不要自行解密,直接将该令牌字符串传给Cybersource。调用Cybersource Tokenization API生成支付令牌
使用Cybersource的POST /pts/v2/payment-tokens接口,将Flutter Pay令牌转换为Cybersource可识别的支付令牌。
请求体示例(JSON格式):{ "clientReferenceInformation": { "code": "ORDER_12345" }, "paymentInformation": { "paymentToken": { "number": "FLUTTER_PAY_RETURNED_TOKEN_STRING", "type": "EMV_TOKEN" } } }认证方式:需在请求头中携带Cybersource的API签名或密钥(推荐使用官方SDK简化签名流程,比如
cybersource-rest-client)。使用Cybersource支付令牌发起支付
接口返回的id字段即为Cybersource支付令牌,调用POST /pts/v2/payments接口完成支付:
请求体示例:{ "clientReferenceInformation": { "code": "ORDER_12345" }, "processingInformation": { "commerceIndicator": "internet" }, "paymentInformation": { "paymentToken": { "id": "CYBERSOURCE_GENERATED_TOKEN_ID" } }, "orderInformation": { "amountDetails": { "totalAmount": "9.99", "currency": "USD" } } }关键注意事项
- 测试环境使用Cybersource提供的模拟EMV令牌,避免用真实卡令牌测试
- 确保Flutter Pay配置的商户ID与Cybersource后台注册的商户ID一致
- 若使用Flutter端Cybersource SDK,可直接集成令牌化+支付流程,无需手动拼接API请求
内容的提问来源于stack exchange,提问作者PAGE BUNNII
相关产品推荐
相关产品推荐

