我目前使用wepay和rails。不要擔心這個帖子與wepay無關。Rails - 創建單獨的表或繞過所有模型驗證?
- 因此,當客戶想要從我的網站購買某些東西時,他/她將被重定向到wepay。
- 然後,在付款後,wepay會將用戶重定向到/ purchases/received
- 經過X段時間後,Wepay還會對/ purchases/callback進行郵寄通知,告訴我付款已被捕獲(信用卡處理速度較慢)
所以我原來的計劃如下:
- 用於購買模型,有一個字段,wepay_id和wepay_confirmed。
- 當用戶發生在wepay訂單時,重定向/ puchases /接收將創建一個實例購買並保存在我的分貝
- 當回調被稱爲查找由wepay_id然後設置wepay_confirmed爲true。
但是,由於我發現X時間量可能非常快,因此/ purchases/received會創建對象之前調用/ purchases/callback。
所以現在我有兩個選擇:
- 允許/採購/回調只用ID創建一個空的購買情況,並確認= TRUE。當我這樣做時,我意識到我不再能以傳統方式驗證我的模型。這真讓我感到困惑。
- 創建一個名爲Wepay_Confirmed的單獨表。每當調用回調函數時,都要在wepay_confirmed中創建一個條目。將此表中存在的(checkout_id)映射到Purchase.confirmed屬性。
我在想做2.我該怎麼做?我是否必須爲特定模型生成映射到Wepay_Confirmed的腳手架?
如果您有任何其他建議,請回復
爲什麼在將訪問者發送給wepay之前不創建購買實例?另一方面的好處是,您也可以通過這種方式跟蹤放棄的購買。 –
@Josh你會介意作爲一個單獨的答案回答這個問題嗎?我有一些意見要跟進 – disappearedng
@Josh很好的想法,我總是忽略這樣的小細節,這是在這種情況下最簡單的答案。 –