payments.hrl 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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. payment_type :: payment_type(),
  14. state :: payment_state(),
  15. membership,
  16. product,
  17. start_time :: erlang:now(),
  18. end_time :: erlang:now(),
  19. state_log = [] :: [#state_change{}],
  20. info :: any() }).
  21. -define(MP_STATE_ADDED, added).
  22. -define(MP_STATE_DONE, done).
  23. -define(MP_STATE_CANCELLED, cancelled).
  24. -define(MP_STATE_UNTRACKED, untracked).
  25. -define(MP_STATE_PENDING, pending).
  26. -define(MP_STATE_FAILED, failed).
  27. -define(MP_STATE_UNKNOWN, unknown).
  28. -define(MP_STATE_CONFIRMED, confirmed).
  29. -define(MP_STATE_UNEXPECTED, unexpected).
  30. -define(MP_STATE_DISCARDED, discarded).
  31. -define(MP_MONTHLY_LIMIT_MULTIPLIER, 3).
  32. -record(pi_credit_card, {
  33. cardholder_name,
  34. cardholder_surname,
  35. cardnumber_masked,
  36. retref_num,
  37. prov_date,
  38. auth_code
  39. }).