payments.hrl 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. -include("kvs.hrl").
  2. -type payment_state() :: added | done | cancelled | pending | untracked |
  3. failed | unknown | confirmed | discarded.
  4. -type payment_type():: credit_card | mobile | paypal | wire_transfer | facebook.
  5. -record(state_change, {
  6. time :: erlang:now(),
  7. state :: any(),
  8. info :: any()}).
  9. -record(user_payment, {?CONTAINER, user}).
  10. -record(payment, {?ITERATOR(user_payment),
  11. external_id :: any(), % id of the purchase in external payment system if any
  12. user_id :: any(),
  13. product_id :: any(),
  14. payment_type :: payment_type(),
  15. state :: payment_state(),
  16. membership,
  17. product,
  18. start_time :: erlang:now(),
  19. end_time :: erlang:now(),
  20. state_log = [] :: [#state_change{}],
  21. info :: any() }).
  22. -define(MP_STATE_ADDED, added).
  23. -define(MP_STATE_DONE, done).
  24. -define(MP_STATE_CANCELLED, cancelled).
  25. -define(MP_STATE_UNTRACKED, untracked).
  26. -define(MP_STATE_PENDING, pending).
  27. -define(MP_STATE_FAILED, failed).
  28. -define(MP_STATE_UNKNOWN, unknown).
  29. -define(MP_STATE_CONFIRMED, confirmed).
  30. -define(MP_STATE_UNEXPECTED, unexpected).
  31. -define(MP_STATE_DISCARDED, discarded).
  32. -define(MP_MONTHLY_LIMIT_MULTIPLIER, 3).
  33. -record(pi_credit_card, {
  34. cardholder_name,
  35. cardholder_surname,
  36. cardnumber_masked,
  37. retref_num,
  38. prov_date,
  39. auth_code
  40. }).