2017-01-31 15 views
0

私はホテル予約のマーケットプレイスアプリを開発中です。 room_id、::TOTAL_PRICE、guest_idなどデータベース設計 - 支払いゲートウェイ応答を保存するための提案

この

ホストhas_manyホテル

ホテルhas_many部屋

ルーム&ユーザーレビューhas_many予約

Bookingモデルが持つフィールドを持つようにモデルの流れが行きます

今はpaymentの部分があります。支払いゲートウェイの応答をどこでpayment_status,pg_error_message?それらをモデル自体を予約することをお勧めしますか?それとも、私は新しいモデルを作るべきですか?以下のような... has_one販売

好ましいアプローチがここにあります予約

答えて

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!

+0

ありがとうございます。私はモデルを記録しておくためにパペットレイルの宝石を使用しています。この場合、同じモデル自体にデータを保持するのに十分ではありませんか? – Abhilash

+0

はい、私はこれにpapertrailを使いたくないのですが、それができると確信しています! –

+0

ok ..ありがとうございます:) – Abhilash

関連する問題