OFBiz + Opentaps 目录管理 四. 产品(四)礼券

四.   产品git

(四)  礼券app

1.        概述异步

客户可能会购买礼券而后在以后的购买中兑换其余商品。礼券是一种特殊类型的数字产品。他们能够被设置为产品而后能够在商店中购买到。当订单来了以后,他们会经过建立记算余额的财务科目来完成。spa

以后,当他们被兑换的时候,客户只要输入一个礼券代码,这个礼券能够是一个内部礼券也能够是外部有价值连接的礼券。若是商店被配置为使用内部礼券,那么礼券就能够被用于为订单付款,过程就像其余付款处理同样,有认证、捕获、释放、退款。xml

2.        设置礼券ci

在目录管理中,设置礼券为一个类型为数字商品的产品。而后使用产品的[内容]页面添加类型为“外部异步执行”的产品内容,这是一个指向服务名为ofbGcPurchase的内容。你能够建立礼券这个虚拟产品的变体,这只须要将产品内容与虚拟产品的父级项相关联便可。产品

当前,礼券金额是基于礼券价格的。将来,咱们可能使用固定金额字段来将价格与面额区分。it

在采购时收集的信息,好比接收电子邮件或礼券信息,是基于一个调查的。调查能够在目录管理中设置。调查必须被设置为容许匿名回馈和屡次回馈,这样一个新的用户可以订购一个礼券,并且同一个用户也能够屡次订购礼券。io

一般,针对礼券定义的参数是被设置在ProductStoreFInActSetting实体中的,这些配置定义了是否须要PIN码,礼券号以及PIN码的长度,以及用于采购信息的调查。字段validateGCFinAcct用于告诉付帐流程当用户付款时是否针对财务科目验证礼券代码。(若是保留为空则不验证)当前验证只是在不须要PIN码的状况下才会作。注意ProductStoreFinActSetting必须在一个XML文件中建立而后被加载,没有用户界面用于维护它。ast

3.        订购礼券

每一个在系统中运行的订单都是从一个名叫checkDigitalFulfillment的服务开始的。若是是一个数字产品,那么执行的服务叫fulfillDigitalItems。在上面提到的礼券例子中,还会调用ofbGcPurchase。这将使得礼券和其余数字产品被当即执行,不管在同一订单中的实体产品是否在仓库中存在。礼券很实体产品将会独立生成发.票。

OfbGcPurchase会查看商店礼券的设置,而后根据一个唯一的随机数建立一个新的财务科目。而后添加采购金额做为一个FinAccountTrans交易。而后利用调查生成一封电子邮件,接着查看在产品商店电子邮件设置中定义的邮件地址发送邮件通知礼券的接收者。

4.        执行礼券

为追踪礼券的执行,须要在你商店的电子邮件设置中定义一个BCC(隐藏抄送),这样就能够对电子邮件作记录。一样,对于接收返回邮件的邮件地址设置发送方邮件地址,这样就能够追踪返回邮件了。

很是重要的事情是确保礼券调查中的描述字段与确认邮件FTL文件(FreeMaker文件)中的字段要严格一致,不然邮件就会出错。好比,若是你的调查中的描述字段是“Message”,你的FTL就必须是${Message}

5.        查看已执行的礼券

当前在订单管理模块的订单查看页面上没有相关页面可用于查看客户以及购买的礼券。这个功能在未来会被添加。

6.        使用礼券付款

系统接受礼券来付款,可使用内部礼券或系统外的礼券,这个是基于商店付款的设置的。配置内部礼券,须要设置礼券的认证、捕获、释放、再认证、退款等付款处理服务。请参考文件applications/ecommerce/data/DemoProduct.xml中关于信用卡和礼券的ProductStorePaymentSetting实体设置。

在付款时,用户能够输入一个礼券号,根据礼券号,系统会查看礼券的财务科目,而后添加其为一种付款方式。但用户付款时,系统将使用礼券付款处理器来处理付款。

若是有多种付款方式(如礼券和信用卡),系统当前捕获的付款方式是基于他们被加入到购物车的顺序的。

7.        订单取消

付款释放处理器将使得针对礼券的认证失效。

8.        退货

退款处理器将致使款项退回给原先的礼券。

9.        有关记录礼券认证的注意事项

明确记录认证而不是依赖当前余额是很重要的,由于订单一般会为客户预留库存。这样,当交易实际上不可以继续的时候,不至于会引发库存大量的累积。
相关文章
相关标签/搜索