我正在实施我的第一个支付网关,虽然我的情况可能很简单,但我可以使所有三个相同,但我想知道一些情况应该是不同的。
再次,订单号,交易ID和发票号之间有什么区别。以及任何其他形式的交易相关信息?
所有这些都必须是唯一的吗?
最后,一旦交易完成,我会向客户展示什么?
注意:我是商家,但与其他任何域名(例如银行,信用卡,支付网关或其他任何域名)相关的情况也是可以接受的。
答案 0 :(得分:2)
我们与来自各个银行的许多不同卡授权API集成,在高级别,在获得商家帐户时,您无法使用API接口的标准。
根据我的经验:
订单号(或等效订单号) 是商家提供的价值,该价值在交易请求中传递给银行,然后银行将其记录与交易相关联。
这允许使用商家定义的值识别银行系统上的交易(用于报告/对账等)。
一般来说,这应该是独一无二的。
交易ID (或等效值)是银行为识别其系统上的交易而返回的值。这将是独一无二的。
发票号这与授权流程无关,因此与银行提供的其他功能有关,并且是特定于实施的(例如,将多个产品组合在一起的方式)。
最后,一旦交易完成,我会向客户展示什么?
您可以将与交易相关的所有信息存储在数据库中,并从该组记录中生成您自己的交易ID;这是你向用户展示的内容。
答案 1 :(得分:0)
在进入语义之前,让我们讨论遇到的不同ID。
在我们的系统上,我们为发票生成一个记录。该记录及其链接表包括客户,项目,日期,价格,税金,总计和付款。我们的数据库为该行生成一个唯一的ID。该ID用于联接表。
我们处理的每笔付款都有来自付款处理器的ID(除非付款已存入客户的内部帐户)
在创建第一条记录之前,我们会为交易生成一个唯一的逻辑ID。
这就是我们给它们起的名字以及我们如何使用它们。
您可以跳过发票ID,而仅使用订单ID。不过,我们甚至希望在将记录存储到数据库之前就抛出逻辑ID。