订单号,交易ID和发票号之间的差异

时间:2014-12-31 05:05:52

标签: transactions payment-gateway payment credit-card payment-processing

我正在实施我的第一个支付网关,虽然我的情况可能很简单,但我可以使所有三个相同,但我想知道一些情况应该是不同的。

再次,订单号,交易ID和发票号之间有什么区别。以及任何其他形式的交易相关信息?

所有这些都必须是唯一的吗?

最后,一旦交易完成,我会向客户展示什么?

注意:我是商家,但与其他任何域名(例如银行,信用卡,支付网关或其他任何域名)相关的情况也是可以接受的。

2 个答案:

答案 0 :(得分:2)

我们与来自各个银行的许多不同卡授权API集成,在级别,在获得商家帐户时,您无法使用API​​接口的标准。

根据我的经验:

订单号(或等效订单号) 是商家提供的价值,该价值在交易请求中传递给银行,然后银行将其记录与交易相关联。

这允许使用商家定义的值识别银行系统上的交易(用于报告/对账等)。

一般来说,这应该是独一无二的。

交易ID (或等效值)是银行为识别其系统上的交易而返回的值。这将是独一无二的。

发票号这与授权流程无关,因此与银行提供的其他功能有关,并且是特定于实施的(例如,将多个产品组合在一起的方式)。

最后,一旦交易完成,我会向客户展示什么?

您可以将与交易相关的所有信息存储在数据库中,并从该组记录中生成您自己的交易ID;这是你向用户展示的内容。

答案 1 :(得分:0)

在进入语义之前,让我们讨论遇到的不同ID。

在我们的系统上,我们为发票生成一个记录。该记录及其链接表包括客户,项目,日期,价格,税金,总计和付款。我们的数据库为该行生成一个唯一的ID。该ID用于联接表。

我们处理的每笔付款都有来自付款处理器的ID(除非付款已存入客户的内部帐户)

在创建第一条记录之前,我们会为交易生成一个唯一的逻辑ID。

这就是我们给它们起的名字以及我们如何使用它们。

  • 订单ID或记录号:数据库生成的ID。通常是一个递增的整数。用于链接表。也用作简短,简洁,用户友好的ID
  • 发票ID:我们为发票创建的唯一逻辑ID。我们使用GUID。这是我们与付款交易一起发送的。
  • 交易ID或付款ID:从付款处理器返回的ID。使用各种格式。

您可以跳过发票ID,而仅使用订单ID。不过,我们甚至希望在将记录存储到数据库之前就抛出逻辑ID。