我正在开发一个适用于酒店预订的市场应用程序。模型流程就像这样
主持has_many
酒店
酒店has_many
客房
房间&访客has_many
预订
Booking
模型的字段包含:room_id,:total_price,guest_id等
现在出现了payment
部分..我应该在哪里保留付款网关的回复,例如payment_status
,pg_error_message
?保留预订模型本身是一种好习惯吗?或者我应该创建一个新的模型出售?
喜欢...预订has_one
促销
这里有首选方法吗?
答案 0 :(得分:1)
我认为你需要另一个模型,因为你可以有多个响应和多个交易。
3rd Cancelled, 2017-01-15
2nd Captured, 2016-12-01
1st Aprroved, 2016-12-01
所以,如果您有另一种关系,您可以注册更一致的回复,我不知道您所在国家/地区将返回哪些信息网关,但在巴西我们会存储这样的内容,我将展示我的应用程序的模型!
Invoice
price: float # Total price of invoice
paid:bool # If is paid, i can have a method insted of store this in DB
uuid: string # Some gateways need this
...
InvoicePayment
payment_method: int # Payment Metod selected from user.
gateway: string # Who process my payment.
fees: float # Fees charged in this transaction
transaction_token:string # ID and Token and whatever i need to >>>
transaction_id:string # identify the transaction on the gateway
transaction_key:string
auth_code: string
captured:bool # I already captured this transaction?
af_status: string # Anti Fraud response data
af_score: string
value: float # value of transaction, imagine that i can receive a invoice in more than one transaction.
这就是全部,我确信我的国家有一些特殊性,但我认为这是一个主要的想法。
SYA!