payments.hrl 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. -include("kvs.hrl").
  2. -type payment_state() :: added | done | cancelled | pending | untracked | failed | unknown | confirmed | discarded.
  3. -type payment_type():: credit_card | mobile | paypal | wire_transfer | facebook.
  4. -record(state_change, {
  5. time :: erlang:now(),
  6. state :: any(),
  7. info :: any()}).
  8. -record(user_payment, {?CONTAINER, user}).
  9. -record(payment, {?ITERATOR(user_payment),
  10. external_id :: any(), % id of the purchase in external payment system if any
  11. user_id :: any(),
  12. product_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. -record(pi_credit_card, {
  22. cardholder_name,
  23. cardholder_surname,
  24. cardnumber_masked,
  25. retref_num,
  26. prov_date,
  27. auth_code
  28. }).