Shopifex v1.0.1 Shopifex.PaymentGuard behaviour View Source
Context behaviour responsible for fetching and using payment grants.
Link to this section Summary
Callbacks
After payment has been accepted, this function is meant to persist the
payment. Default behaviour is to create a grant schema record. charge_id
is
the external id for the Shopify charge record.
Gets a plan with a given identifier
Returns a payment record which grants access to the payment guard.
Default behaviour filters where remaining_usages
is greater than
0 or has a nil value (unlimited usage).
Display the available payment plans for the user to select.
Updates the grant to reflect the usage of it in some way. Defaults to decrementing
the remaining_usages
property if it's not nil. If it is nil, the grant has
unlimited usages
Link to this section Types
Specs
grant() :: %{ charge_id: pos_integer(), grants: [String.t()], remaining_usages: pos_integer(), total_usages: pos_integer() }
Specs
guard() :: String.t()
Specs
Specs
Link to this section Callbacks
Specs
create_grant(shop :: shop(), plan :: plan(), charge_id :: pos_integer()) :: {:ok, any()}
After payment has been accepted, this function is meant to persist the
payment. Default behaviour is to create a grant schema record. charge_id
is
the external id for the Shopify charge record.
Specs
get_plan(plan_id :: String.t() | pos_integer()) :: plan()
Gets a plan with a given identifier
Specs
Returns a payment record which grants access to the payment guard.
Default behaviour filters where remaining_usages
is greater than
0 or has a nil value (unlimited usage).
Specs
show_plans( conn :: Plug.Conn.t(), guard_identifier :: String.t(), redirect_after :: String.t() ) :: Plug.Conn.t()
Display the available payment plans for the user to select.
Specs
Updates the grant to reflect the usage of it in some way. Defaults to decrementing
the remaining_usages
property if it's not nil. If it is nil, the grant has
unlimited usages