View Source StarkInfra.IssuingAuthorization (starkinfra v0.1.0)
Groups IssuingAuthorization related functions
Link to this section Summary
Functions
An IssuingAuthorization presents purchase data to be analysed and answered with an approval or a declination.
Same as parse(), but it will unwrap the error tuple and raise in case of errors.
Create a single IssuingAuthorization struct received from IssuingAuthorization at the informed endpoint. If the provided digital signature does not check out with the StarkInfra public key, a starkinfra.error.InvalidSignatureError will be raised.
Helps you respond IssuingAuthorization requests.
Link to this section Types
@type t() :: %StarkInfra.IssuingAuthorization{ acquirer_id: term(), amount: term(), card_id: term(), card_tags: term(), end_to_end_id: term(), holder_tags: term(), id: term(), is_partial_allowed: term(), issuer_amount: term(), issuer_currency_code: term(), merchant_amount: term(), merchant_category_code: term(), merchant_country_code: term(), merchant_currency_code: term(), merchant_fee: term(), merchant_id: term(), merchant_name: term(), method_code: term(), purpose: term(), score: term(), tax: term(), wallet_id: term() }
Link to this section Functions
An IssuingAuthorization presents purchase data to be analysed and answered with an approval or a declination.
attributes-return-only
Attributes (return-only):
:end_to_end_id
[string]: central bank's unique transaction ID. ex: "E79457883202101262140HHX553UPqeq":amount
[integer]: IssuingPurchase value in cents. Minimum = 0. ex: 1234 (= R$ 12.34):tax
[integer]: IOF amount taxed for international purchases. ex: 1234 (= R$ 12.34):card_id
[string]: unique id returned when IssuingCard is created. ex: "5656565656565656":issuer_amount
[integer]: issuer amount. ex: 1234 (= R$ 12.34):issuer_currency_code
[string]: issuer currency code. ex: "USD":merchant_amount
[integer]: merchant amount. ex: 1234 (= R$ 12.34):merchant_currency_code
[string]: merchant currency code. ex: "USD":merchant_category_code
[string]: merchant category code. ex: "fastFoodRestaurants":merchant_country_code
[string]: merchant country code. ex: "USA":acquirer_id
[string]: acquirer ID. ex: "5656565656565656":merchant_id
[string]: merchant ID. ex: "5656565656565656":merchant_name
[string]: merchant name. ex: "Google Cloud Platform":merchant_fee
[integer]: merchant fee charged. ex: 200 (= R$ 2.00):wallet_id
[string]: virtual wallet ID. ex: "googlePay":method_code
[string]: method code. ex: "chip", "token", "server", "manual", "magstripe" or "contactless":score
[float]: internal score calculated for the authenticity of the purchase. Nil in case of insufficient data. ex: 7.6:is_partial_allowed
[bool]: true if the the merchant allows partial purchases. ex: False:purpose
[string]: purchase purpose. ex: "purchase":card_tags
[list of strings]: tags of the IssuingCard responsible for this purchase. ex: ["travel", "food"]:holder_tags
[list of strings]: tags of the IssuingHolder responsible for this purchase. ex: ["technology", "john snow"]
@spec parse!( content: binary(), signature: binary(), cache_pid: PID, user: StarkInfra.User.Project.t() | StarkInfra.User.Organization.t() ) :: any()
Same as parse(), but it will unwrap the error tuple and raise in case of errors.
@spec parse( content: binary(), signature: binary(), cache_pid: PID, user: StarkInfra.User.Project.t() | StarkInfra.User.Organization.t() ) :: {:ok, t()} | {:error, [{:error, StarkInfra.Error.t()}]}
Create a single IssuingAuthorization struct received from IssuingAuthorization at the informed endpoint. If the provided digital signature does not check out with the StarkInfra public key, a starkinfra.error.InvalidSignatureError will be raised.
parameters-required
Parameters (required):
:content
[string]: response content from request received at user endpoint (not parsed):signature
[string]: base-64 digital signature received at response header "Digital-Signature"
options
Options
cache_pid
[PID, default nil]: PID of the process that holds the public key cache, returned on previous parses. If not provided, a new cache process will be generated.:user
[Organization/Project, default nil]: Organization or Project struct returned from StarkInfra.project(). Only necessary if default project or organization has not been set in configs.
return
Return:
- Parsed IssuingAuthorization struct
Helps you respond IssuingAuthorization requests.
parameters-required
Parameters (required):
:status
[string]: sub-issuer response to the authorization. ex: "accepted" or "denied"
options
Options
:amount
[integer, default 0]: amount in cents that was authorized. ex: 1234 (= R$ 12.34):reason
[string, default ""]: denial reason. ex: "other":tags
[list of strings, default []]: tags to filter retrieved object. ex: ["tony", "stark"]
return
Return:
- Dumped JSON string that must be returned to us on the IssuingAuthorization request