关于Braintree交易lineItems字段使用及分项收据生成的问询
关于Braintree Transaction API中lineItems字段的疑问解答
你的判断完全正确——Braintree的lineItems字段确实不会被持久化存储:交易API的响应里不会返回这些数据,后台控制面板的交易详情页也找不到任何和订单项相关的内容。
这个字段存在的意义是什么?
lineItems的核心作用是向支付处理链路中的上游机构传递交易明细信息,比如:
- 部分信用卡网络或发卡行可能需要这些明细来做合规校验、交易分类;
- 如果使用PayPal作为支付方式,这些订单项会同步到PayPal系统,客户在PayPal的交易记录里能看到完整的消费明细;
- 少数情况下,发卡行支持在持卡人的银行账单上展示更详细的消费分项,这时候
lineItems里的信息就会派上用场。
简单来说,它是一个传递性字段,而非存储性字段,Braintree只是帮你把这些数据转发给对应的支付合作方,不会自己留存。
如何生成带分项的交易收据?
Braintree本身不会帮你存储订单项或生成带明细的收据,你需要自己做两步处理:
- 自行存储订单项数据:在调用Braintree Transaction API创建交易时,把
lineItems的内容同时存入你自己的数据库,并且和该交易的id做关联; - 自定义生成收据:
- 当需要给客户发送收据时,从你的数据库里取出对应的订单项,结合Braintree返回的交易核心信息(比如总金额、交易状态、支付方式),自行生成HTML邮件、PDF文档等格式的明细收据;
- 如果你想使用Braintree自带的邮件收据功能,可以通过自定义收据模板,把你存储的订单项数据动态填充到模板中,再通过Braintree的邮件服务发送给客户。
内容的提问来源于stack exchange,提问作者Keith Ng
相关产品推荐
相关产品推荐

