NopCommerce:如何将此网关的返回字段映射到 Nop 的预期?

Posted

技术标签:

【中文标题】NopCommerce:如何将此网关的返回字段映射到 Nop 的预期?【英文标题】:NopCommerce: How do I map this gateway's returned fields to what Nop is expecting? 【发布时间】:2013-04-09 19:26:45 【问题描述】:

背景

我正在为NopCommerce 2.80 编写一个支付网关插件。这是我第一次为支付网关编写代码。我快到了,但遇到了一些问题。

问题

首先,在ProcessPayment方法中,我需要返回一个ProcessPaymentResult,它具有以下属性(谁能解释一下它们之间的区别?):

AuthorizationTransactionCode

AuthorizationTransactionId

AuthorizationTransactionResult

CaptureTransactionId

CaptureTransactionResult

我需要实现的网关(Tranzila)返回了以下字段:

ConfirmationCode

AuthNumber

RefNumber

TempRef

以及其他一些可能不适用于此场景的内容。我不知道如何将这些映射到 Nop 的预期......

其次,Capture 方法是干什么用的?我看过PayPalDirect 插件,但不是很清楚。什么时候调用这个方法?

【问题讨论】:

【参考方案1】:

在验证processPaymentResult.Success 是否为真后,此字段将保存到订单中。所有这些都是可选的,但如果您想在 nopcommerce 中的订单和 Tranzila 中的支付交易之间有某种参考,则需要包含它们。

AuthorizationTransactionId(可选)是您要记录交易时生成的唯一ID

AuthorizationTransactionCode 是支付网关生成的唯一交易 ID。在您的情况下,它可能是RefNumber。但我会仔细检查。

AuthorizationTransactionResult 是支付网关返回的整个响应。您可以只保存文本或整个 XML 响应。这又是一次,仅供将来参考。

其他 2 个字段用于延期付款。当“管理员”从管理面板获取资金时设置它们。

CaptureTransactionId支付网关生成的交易代码 CaptureTransactionResult该交易的全部信息

【讨论】:

以上是关于NopCommerce:如何将此网关的返回字段映射到 Nop 的预期?的主要内容,如果未能解决你的问题,请参考以下文章

在快速自定义的NopCommerce中使用实体框架(EF)代码优先迁移

如何将此 blob 字段发送到服务器?

Java字段名映射成别的名称

如何发布 NopCommerce 和 NopCommerce 管理网站?

jpa 实体bean中如何定义非映射字段

Autofac和nopcommerce中的Autofac, 还有反射