Card transition events

Card transition events include activities such as a card being activated/deactivated, ordered, or shipped. From a technical point of view, they are activities that cause the transition of a card's state or fulfillment_status field.

Card transition notifications are sent as card transition events occur and contain detailed information about the events.

Each notification contains a type field that categorizes the card transition event. The following table describes each card transition event type. Note that the values in the Type column are the literal values of the notification's type field. When configuring a webhook to capture these events, you must prefix this type with cardtransition, for example, cardtransition.fulfillment.issued.

Type Description
fulfillment.issued Card was created/issued.
state.activated Card was activated.
state.suspended Card was suspended.
state.reinstated Card was re-instated from a suspended state.
state.terminated Card was terminated.
fulfillment.ordered Card was ordered by card fulfillment provider.
fulfillment.rejected Card was rejected by card fulfillment provider.
fulfillment.shipped Card was shipped by card fulfillment provider.
fulfillment.delivered Card was delivered by card shipping provider.
fulfillment.digitally_presented Card was digitally presented using the /cards/{token}/showpan API.

Card transition notifications are structured as an array within a cards element. Multiple notifications can be included in a single notification message. The structure of each individual notification is identical to that of a cardtransition object returned by the /cardtransitions API endpoint (for more information about the /cardtransitions endpoint, see the Cards page).

The following example shows a notification message containing two card transition notifications: one for the issuance of a card, and one for the activation of that card.

{
"cards": [
{
"token": "my_card_transition_token",
"state": "ACTIVE",
"reason": "I want to use this card.",
"channel": "API",
"validations": {
"user": {
"phone": false,
"ssn": false,
"birth_date": true
}
},
"type": "state.activated",
"pan": "111111______0117",
"expiration": "0820",
"card_token": "my_card_token",
"user_token": "my_user_token",
"fulfillment_status": "ISSUED",
"created_time": "2016-08-30T22:03:35Z",
"card_product_token": "my_card_product_token",
"last_four": "0117",
"expiration_time": "2020-08-31T23:59:59.000Z",
"pin_is_set": false
},
{
"token": "d7ddfa76-dec1-4c15-81a5-17558f73cc76",
"state": "UNACTIVATED",
"reason": "New card",
"channel": "SYSTEM",
"validations": {
"user": {
"phone": false,
"ssn": false,
"birth_date": false
}
},
"type": "fulfillment.issued",
"pan": "111111______0117",
"expiration": "0820",
"card_token": "my_card_token",
"user_token": "my_user_token",
"fulfillment_status": "ISSUED",
"created_time": "2016-08-30T22:01:47Z",
"card_product_token": "my_card_product_token",
"last_four": "0117",
"expiration_time": "2020-08-31T23:59:59.000Z",
"pin_is_set": false
}
]
}


Digital wallet token transition events

Digital wallet token transition events include activities such as a digital wallet token being requested, activated, terminated, etc. From a technical point of view, they are activities that cause the transition of a token's state or fulfillment_status field.

Digital wallet token transition notifications are sent as digital wallet token transition events occur and contain detailed information about the events.

Each notification contains a type field that categorizes the digital wallet token transition event. The following table describes each digital wallet token transition event type. Note that the values in the Type column are the literal values of the notification's type field. When configuring a webhook to capture these events, you must prefix this type with digitalwallettokentransition, for example, digitalwallettokentransition.fulfillment.requested.

Type Description
fulfillment.requested Indicates that a token was requested and provisioning is pending.
state.request_declined Indicates that token provisioning was rejected. The state of the token cannot be further modified.
state.activated Indicates that the token has been provisioned and is active.
state.suspended Indicates that the token has been suspended.
state.reinstated Indicates that the token has been reactivated from a suspended state.
state.terminated Indicates that the token has been terminated. The state of the token cannot be further modified.
card.swap A card was activated (the card state transitioned from UNACTIVATED to ACTIVE), and all existing digital wallet tokens owned by the user and having a state of REQUESTED, ACTIVE, or SUSPENDED were moved to the new card.

Note: The token-related event types token.activation-request and token.advice are categorized as transaction events and are documented in the Transaction Events section.

Digital wallet token transition notifications are structured as an array within a digitalwallettokentransitions element. Multiple notifications can be included in a single notification message. The structure of each individual notification is identical to that of a digitalwallettokentransition object returned by the /digitalwallettokentransitions API endpoint (for more information about the /digitalwallettokentransitions endpoint, see the Digital Wallets Management page).

The following example shows a notification message containing two digital wallet token transition notifications: one requesting a token, and one for the activation of that token.

{
"digitalwallettokentransitions": [
{
"token": "757644f0-d3a4-3275-6b3e-1edf1ccbd05d",
"digital_wallet_token": {
"token": "b98cb680-2fd4-4c14-aa56-8d05091209d5"
},
"type": "state.activated",
"channel": "API",
"state": "ACTIVE",
"fulfillment_status": "PROVISIONED",
"reason": "Passed additional identity verification",
"created_time": "2017-02-23T18:57:45Z"
},
{
"token": "659654f0-d5e4-4875-8e3e-2ecf1babd03b",
"digital_wallet_token": {
"token": "b98cb680-2fd4-4c14-aa56-8d05091209d5"
},
"type": "fulfillment.requested",
"channel": "TOKEN_SERVICE_PROVIDER",
"state": "REQUESTED",
"fulfillment_status": "DECISION_YELLOW",
"reason": "Additional identity verification required",
"created_time": "2017-02-23T18:44:21Z"
}
]
}


Chargeback transition events

Chargeback transition events mark the progress of disputes through the arbitration process. From a technical point of view, chargeback transition events cause the transition of a chargeback object's state field.

The chargeback object represents a completed transaction that has been disputed by the issuer. In order for the dispute to be resolved, the chargeback must pass through an arbitration process consisting of multiple phases. Each phase of the arbitration process is represented by a chargebacktransition object of a particular type. For example, the creation of a new chargeback incidentally creates a chargebacktransition of type initiated. After creating a chargeback, you can explicitly move it from one arbitration phase to another by creating a chargebacktransition of the appropriate type. Note that chargebacks do not follow a prescribed path through the arbitration process; various paths are possible. (For information about the /chargebacks endpoint, see Chargebacks.)

Chargeback transition notifications are sent as chargeback transition events occur and contain detailed information about the events.

Each notification contains a type field that categorizes the chargeback transition event. The following table describes each chargeback transition event type. Note that the values in the Type column are the literal values of the notification's type field. When configuring a webhook to capture these events, you must prefix this type with chargebacktransition, for example, chargebacktransition.representment.

Type Description
initiated The chargeback has been created. Funds to cover the disputed charges have been credited to the card holder's account if the credit_user field was true or unspecified at the time of creation.
representment The case is in representment (also known as second presentment). The gateway/acquirer has disputed the chargeback. In some cases representment does not occur.
prearbitration The case is in pre-arbitration (also known as arbitration chargeback). Upon receipt of a dispute from the gateway/acquirer (representment), the issuer can submit the chargeback a second time, possibly with more or different information. Only relevant chargebacks assume this status.
arbitration The case is in arbitration. When a gateway/acquirer disputes a chargeback, the issuer can submit the case to the network for arbitration after either the first or second (pre-arbitration) chargeback. In arbitration, the network decides who wins the chargeback case.
case.won The chargeback case is closed; Marqeta won.
case.lost The chargeback case is closed; Marqeta lost.
network.rejected The network rejected the chargeback submission.
written.off.issuer Can be transitioned to only from case.lost or network.rejected. The chargeback is credited to the GPA of the user or business and Marqeta absorbs the cost.
written.off.program Can be transitioned to only from case.lost or network.rejected. The chargeback is credited to the GPA of the user or business and the Marqeta customer absorbs the cost through a debit from the program funding source.

Chargeback transition notifications are structured as an array within a chargebacktransitions element. Multiple notifications can be included in a single notification message. The structure of each individual notification is identical to that of a chargebacktransition object returned by the /chargebacks/transitions API endpoint (for more information about the /chargebacks/transitions endpoint, see the Chargebacks page).

The following example shows a notification message containing two chargeback transition notifications:

{
"chargebacktransitions": [
{
"token": "my_chargeback_transition_11",
"state": "PREARBITRATION",
"previous_state": "REPRESENTMENT",
"channel": "ISSUER",
"chargeback_token": "my_chargeback_09",
"reason": "Product not received",
"transaction_token": "710",
"created_time": "2017-10-06T23:07:18Z",
"last_modified_time": "2017-10-06T23:07:18Z",
"type": "prearbitration"
},
{
"token": "my_chargeback_transition_10",
"state": "REPRESENTMENT",
"previous_state": "INITIATED",
"channel": "ISSUER",
"chargeback_token": "my_chargeback_08",
"reason": "Product not received",
"transaction_token": "708",
"created_time": "2017-10-05T23:55:20Z",
"last_modified_time": "2017-10-05T23:55:20Z",
"type": "representment"
}
]
}


Transaction events

Transaction events include activities such as authorizations, authorization clearings, and refunds. Note: Although you might think of an authorization and authorization clearing as two parts of the same conceptual transaction, the Marqeta platform treats each transaction-related message exchange as a separate transaction event with a unique indentifying token.

Transaction notifications are sent in real time as transaction events occur and contain detailed information about the events.

All transaction notifications contain a type field that categorizes the transaction event. The following table lists all possible values for the type field. The table describes each type, indicates the objects potentially included in that transaction type, and lists the transaction types that could potentially complete it. Note that the values in the Type column are the literal values of the notification's type field. When configuring a webhook to capture these events, you must prefix this type with transaction, for example, transaction.authorization.

Note: While the type field categorizes the transaction, the response.code field describes the outcome of the attempted transaction (see Transaction Response Codes for more information).

Type Description Possibly Completed by Possibly Included Objects
authorization Funds hold resultant from card usage, requires settlement. Temporary transaction type. authorization.advice, authorization.reversal, authorization.reversal.issuerexpiration, authorization.clearing store, card_acceptor, gpa, rewards, msa_orders, offer_orders, user.metadata, digital_wallet_token
authorization.advice Updates an existing authorization by replacing the amount. Requires settlement. Must be honored. Temporary transaction type. authorization.reversal, authorization.reversal.issuerexpiration, authorization.clearing store, card_acceptor, gpa, rewards, msa_orders, offer_orders, user.metadata, digital_wallet_token
authorization.clearing Completes an authorization. Final transaction type. store, card_acceptor, gpa, rewards, msa_orders, offer_orders, user.metadata, digital_wallet_token
authorization.clearing.chargeback Indicates a chargeback has been initiated by Marqeta.

Possible states: INITIATED, PREARBITRATION, ARBITRATION, CASE_WON

Ledger impact: Positive if credit_user is true; No impact if credit_user is false.
authorization.clearing.chargeback.reversal, authorization.clearing.chargeback.completed gpa, chargeback, user.metadata
authorization.clearing.chargeback.completed Indicates a chargeback initiated by Marqeta has completed.

Possible states: CASE_WON

Ledger impact: Positive.
gpa, chargeback, user.metadata
authorization.clearing.chargeback.provisional.credit Used to switch a chargeback from the non-provisional credit to the provisional credit workflow (provides a credit). Final transaction type. Requires settlement. gpa, chargeback, user.metadata
authorization.clearing.chargeback.provisional.debit Used to switch a chargeback from the provisional credit to the non-provisional credit workflow (removes the initial credit). Final transaction type. Requires settlement. gpa, chargeback, user.metadata
authorization.clearing.chargeback.reversal Indicates a chargeback initiated by Marqeta has been rejected.

Possible states: CASE_LOST, NETWORK_REJECTED

Ledger impact: Negative if credit_user is true; No impact if credit_user is false.
gpa, chargeback, user.metadata
authorization.clearing.chargeback.writeoff Indicates that either Marqeta or Marqeta's customer has absorbed the loss of the chargeback to the account holder. Final transaction type.

Possible states: WRITTEN_OFF_PROGRAM, WRITTEN_OFF_ISSUER

Ledger impact: Positive
gpa, chargeback, user.metadata
authorization.clearing.representment Indicates a merchant has disputed a chargeback initiated by Marqeta.

Possible states: REPRESENTMENT

Ledger impact: Negative if credit_user is true; No impact if credit_user is false and representment amount equals original amount; Positive if credit_user is false and representment amount is less than original amount.
gpa, chargeback, user.metadata
authorization.incremental Increases the amount of a previous authorization by adding to it rather than replacing it. Requires settlement. Temporary transaction type. authorization.reversal store, card_acceptor, gpa, rewards, msa_orders, offer_orders, user.metadata, digital_wallet_token
authorization.reversal Drop/release of authorization not based on elapsed time. store, card_acceptor, gpa, rewards, msa_orders, offer_orders, user.metadata, digital_wallet_token
authorization.reversal.issuerexpiration Authorization drop initiated by Marqeta due to elapsed time. store, card_acceptor, gpa, rewards, msa_orders, offer_orders, user.metadata, digital_wallet_token
authorization.standin The authorization was declined by the card network because it did not receive a response from Marqeta. Final transaction type (begins and ends in a state of DECLINED). store, card_acceptor, gpa, rewards, msa_orders, offer_orders, user.metadata, digital_wallet_token
fee.charge Fee is assessed to a user. fee.charge.reversal gpa, gpa_order, fee_transfer
fee.charge.pending An authorization with a fee associated is created. fee.charge.reversal, fee.charge gpa, gpa_order, fee_transfer
fee.charge.reversal A transaction and associated fee are reversed gpa, gpa_order, fee_transfer
gpa.credit Crediting of funds into a user's GPA. gpa, gpa_order
gpa.credit.authorization Temporary transaction type. gpa.credit.pending.reversal, gpa.credit gpa, gpa_order
gpa.credit.authorization.reversal Reverses a gpa.credit.authorization (a JIT Funding authorization); possible when using Just-In-Time (JIT) Funding. gpa, gpa_order
gpa.credit.issueroperator Admin function to credit funds to any GPA or MSA. Functionally the same as gpa.credit. gpa, gpa_order, msa_orders, offer_orders
gpa.credit.networkload Load of funds performed through a network service such as Visa ReadyLink or MasterCard RePower at a participating merchant location. Starts and ends in a state of COMPLETION. gpa
gpa.credit.networkload.reversal Cancels full amount of a load performed through a network service such as Visa ReadyLink or MasterCard RePower. Permitted only on the same day as the load. Starts and ends in a state of COMPLETION. gpa
gpa.credit.pending ACH deposit pending in pending_credits state for GPA. When funding time > 0. Temporary transaction type. gpa.credit.pending.reversal, gpa.credit gpa, gpa_order
gpa.credit.pending.reversal ACH transaction which we thought succeeded has now failed as a result of notification from the ACH processor for the GPA. gpa, gpa_order
gpa.credit.reversal Transaction that had been settled/credited has now failed as a result of notification from the processor for the GPA. Could be credit card or ACH. gpa, gpa_order
gpa.debit Debiting of funds from a user's GPA back to a funding source. gpa
gpa.debit.issueroperator Admin function to debit funds from any GPA or MSA. Functionally the same as gpa.debit. gpa, gpa_order, msa_orders, offer_orders
gpa.debit.reversal Reverses a gpa.debit, thereby moving funds from the funding source back into the GPA. Final transaction type. gpaorder
msa.credit Crediting of funds to a user's MSA. gpa, msa_orders
msa.credit.pending ACH deposit pending in pending_credits state for MSA. When funding time > 0. Temporary transaction type. msa.credit.pending.reversal, msa.credit gpa, msa_orders, offer_orders
msa.credit.pending.reversal ACH transaction which we thought succeeded has now failed as a result of notification from the ACH processor for an MSA. gpa, msa_orders, offer_orders
msa.credit.reversal Transaction that had been settled/credited has now failed as a result of notification from the processor for an MSA. Could be credit card or ACH. gpa, msa_orders, offer_orders
msa.debit Debiting of funds from a user's MSA back to a funding source. gpa, msa_orders
pindebit PIN transaction at POS. store, card_acceptor, gpa, rewards, msa_orders, offer_orders, user.metadata
pindebit.atm.withdrawal Cash received from ATM. store, card_acceptor, gpa, user.metadata
pindebit.authorization A non-finalized PIN debit transaction used in automated fuel dispenser (AFD) scenarios. Temporary transaction type. pindebit.authorization.clearing, pindebit.reversal store, card_acceptor, gpa, rewards, msa_orders, offer_orders, user.metadata
pindebit.authorization.clearing Completes a pindebit.authorization transaction. Final transaction type. store, card_acceptor, gpa, rewards, msa_orders, offer_orders, user.metadata
pindebit.authorization.reversal.issuerexpiration Authorization drop initiated by Marqeta due to elapsed time. Most transactions of this type originate from authorizations at automatic fuel dispensers. store, card_acceptor, gpa, rewards, msa_orders, offer_orders, user.metadata
pindebit.balanceinquiry Balance inquiry via network, e.g., ATM. Non-financial transaction. store, card_acceptor, gpa, user.metadata
pindebit.cashback PIN transaction at point of sale where cash back is requested/received. store, card_acceptor, gpa, rewards, msa_orders, offer_orders, user.metadata
pindebit.refund Refund of a PIN debit transaction. store, card_acceptor, gpa, rewards
pindebit.reversal The financial impact of a pindebit transaction has been reversed. store, card_acceptor, gpa, rewards, msa_orders, offer_orders, user.metadata
pindebit.transfer ATM transfer between a checking and a savings account.
refund Refund of a card holder transaction. store, card_acceptor, gpa, rewards
token.activation-request Request to activate a digital wallet token.
token.advice Changes the state of a digital wallet token, for example, from REQUESTED to ACTIVE.
transaction.unknown Unlikely to occur. Helps to identify transaction errors.
transfer.peer Results from hitting /peertransfers endpoint. Moves money between GPAs. gpa, peer_transfer
transfer.program Movement of funds from the card holder's GPA to the program funding source. Results from using the /programtransfers endpoint. gpa, programtransfers

Below is a superset of possible elements included in a transaction notification. The type and amount fields are always returned. Other fields and object groups are conditionally returned. Refer to the preceding table for a listing of objects possibly included for each transaction type. Refer to the Transactions page for transaction field descriptions and information about the possible values of the transaction state field.

{
"transactions": [
{
"type": "string",
"state": "string",
"token": "string",
"user_token": "string",
"card_token": "string",
"duration": 10,
"created_time": "2014-10-28T07:45:19Z",
"request_amount": 20.00,
"amount": 20.00,
"issuer_interchange_amount": 1.03,
"currency_code": "string",
"approval_code": "string",
"response": {
"code": "string",
"memo": "string"
},
"preceding_related_transaction_token": "string",
"user": {
"metadata": {
"my_key1": "my_value1",
"my_key2": "my_value2"
}
},
"merchant" : {
"name" : "My_Merchant",
"active" : true,
"longitude" : 0.0,
"latitude" : 0.0,
"token" : "1d00b9c7-8f1f-4b17-a2b6-5fdf03128c76",
"partial_auth_flag" : true
},
"store": {
"token": "13d038ce-d4c2-47a6-9819-7fb4a9cfc998",
"merchant_token": "4b791b2d-f861-4490-8e2d-43962846e8ea",
"name": "My_Store",
"active": true,
"contact": "John Doe",
"longitude": 0,
"latitude": 0,
"address1": "123 Foo Dr",
"city": "Emeryville",
"state": "CA",
"zip": "94608",
"phone": "925-123-4567",
"country": "US",
"mid": "123456789012345",
"network_mid": "543210987654321",
"contact_email": "foo@example.com",
"partial_auth_flag": true,
"partial_approval_capable": false,
"keyed_auth_cvv_enforced": false
},
"card_acceptor": {
"mid": "string",
"mcc": "string",
"mcc_groups": [
"mcc_group_token1",
"mcc_group_token2"
],
"name": "string",
"address": "string",
"city": "string",
"state": "string",
"zip": "string",
"country" : "840",
"network_mid" : "string",
"poi": {
"tid": "TR100000",
"partial_approval_capable" : "2",
"cardholder_presence" : "0",
"card_presence" : "0",
"pin_present: "false",
"channel": "OTHER",
"processing_type": "MAGSTRIPE"
}
},
"gpa": {
"currency_code": "USD",
"ledger_balance": 30,
"available_balance": 0,
"credit_balance": 0,
"pending_credits": 0,
"impacted_amount": -1,
"balances": {
"USD": {
"currency_code": "USD",
"ledger_balance": 30,
"available_balance": 0,
"credit_balance": 0,
"pending_credits": 0,
"impacted_amount": -1
}
}
},
"rewards": [
{
"token": "eb4db46d-2a03-41a2-949f-39014b9cb90d",
"type": "EARN",
"reward": {
"value": 0.10,
"descriptor": "CENTS_PER_GALLON"
},
"reward_program_token": "57c5c71f-c27c-4f18-8236-594e1271e328",
"total_amount_spent": 50.00,
"expiration_time": "2015-02-15T07:59:59Z"
}
],
"gpa_order": {
"token": "31fa16dd-9925-4f08-bedf-6c3649730d87",
"amount": 10.00,
"tags": "Foo, Bar",
"memo": "Some money 4 ya!",
"fees": [
{
"token": "tford",
"memo": "Monthly Subscription Fee",
"tags": "Baz",
"fee": {
"token": "535cdca5-ab67-42f9-89dc-58b6ad54be40",
"active": true,
"name": "Monthly Subscription Fee",
"amount": 5,
"created_time": "2014-09-23T03:57:56Z",
"last_modified_time": "2015-01-30T09:37:31Z",
"currency_code": "USD"
},
"transaction_token": "string"
}
],
"funding": {
"amount" : 20.00,
"source": {
"type": "paymentcard",
"token": "3b0f45a6-24ec-4951-ae9f-c87e28c95d9d",
"account_suffix": "5118",
"account_type": "MASTER",
"active": true,
"is_default_account": true,
"exp_date": "0523"
},
"source_address": {
"token": "a4f34532-2b57-446a-8ebd-58b7ce83b3ab",
"first_name": "Jason",
"last_name": "Gardner",
"address_1": "6201 Doyle St Suite B",
"address_2": "",
"city": "Emeryville",
"state": "CA",
"zip": "94608",
"country": "USA",
"phone": "925-555-6011",
"active": true,
"is_default_address": true
},
"gateway_log": {
"order_number": "99340303",
"transaction_id": "342423034240120324",
"message": "string"
}
},
"user_token": "56b2732e-c785-4cde-bc94-71bdda83492d",
"currency_code": "USD",
"transaction_token": "string"
},
"msa_orders": [
{
"token": "855646ae-9ca6-4385-b5b0-87c3e5c68845",
"active": true,
"user_token": "tford",
"order_balances": {
"currency_code": "USD",
"ledger_balance": 100.00,
"available_balance": 120.00,
"credit_balance": 20.00,
"pending_credits": 0.00
},
"purchase_amount": 100.00,
"currency_code": "USD",
"reward_amount": 20.00,
"reward_trigger_amount": 0.01,
"campaign_token": "3e77f03f-e697-4f4f-95f3-151451571e2b",
"funding": {
"amount": 120.00,
"source": {
"type": "paymentcard",
"token": "3b0f45a6-24ec-4951-ae9f-c87e28c95d9d",
"account_suffix": "5118",
"account_type": "MASTER",
"active": true,
"is_default_account": true,
"exp_date": "0523"
},
"source_address": {
"token": "a4f34532-2b57-446a-8ebd-58b7ce83b3ab",
"first_name": "Jason",
"last_name": "Gardner",
"address_1": "6201 Doyle St Suite B",
"address_2": "",
"city": "Emeryville",
"state": "CA",
"zip": "94608",
"country": "USA",
"phone": "925-555-6011",
"active": true,
"is_default_address": true
},
"gateway_log": {
"order_number": "99340303",
"transaction_id": "342423034240120324",
"message": "string"
}
}
}
],
"offer_orders": [
{
"token": "abc8e249-c89e-4bcf-aa8f-86efaa6fd12e",
"user_token": "tford",
"offer": {
"token": "adff0ccf-86c0-4c66-a5a9-0694330353f0",
"active": true,
"name": "Spend 200 get 40 at The Gap",
"purchase_amount": 200.00,
"reward_amount": 40.00,
"reward_trigger_amount": 0.01,
"campaign_token": "9f69e19f-306a-4bd8-99c0-375a91f44d8e",
"currency_code": "USD"
},
"order_balances": {
"ledger_balance": 100.00,
"available_balance": 120.00,
"credit_balance": 20.00,
"pending_credits": 0.00
},
"funding": {
"amount": 120.00,
"source": {
"type": "paymentcard",
"token": "3b0f45a6-24ec-4951-ae9f-c87e28c95d9d",
"account_suffix": "5118",
"account_type": "MASTER",
"active": true,
"is_default_account": true,
"exp_date": "0523"
},
"source_address": {
"token": "a4f34532-2b57-446a-8ebd-58b7ce83b3ab",
"first_name": "Jason",
"last_name": "Gardner",
"address_1": "6201 Doyle St Suite B",
"address_2": "",
"city": "Emeryville",
"state": "CA",
"zip": "94608",
"country": "USA",
"phone": "925-555-6011",
"active": true,
"is_default_address": true
},
"gateway_log": {
"order_number": "99340303",
"transaction_id": "342423034240120324",
"message": "string"
}
}
}
],
"peer_transfer": {
"token": "87306b23-b5ff-4ad9-9d4a-d3d0fbb8ef22",
"amount": 5.57,
"tags": "Foo, Bar",
"memo": "Thanks for lunch",
"currency_code": "USD",
"created_time": "2015-01-28T23:36:43Z",
"sender_user_token": "90306b23-b5ff-4ad9-9d4a-d3d0fbb8ef22",
"recipient_user_token": "a0306b23-b5ff-4ad9-9d4a-d3d0fbb8ef22"
},
"fee_transfer": {
"token": "3ee81070-fcd5-4e52-9b17-bcca4546ee8f",
"tags": "Foo, Bar",
"fees": [
{
"token": "535cdca5-ab67-42f9-89dc-58b6ad54be40",
"memo": "Some Fee!",
"tags": "Baz",
"fee": {
"token": "535cdca5-ab67-42f9-89dc-58b6ad54be40",
"active": true,
"name": "Monthly Subscription Fee",
"amount": 5,
"created_time": "2014-09-23T03:57:56Z",
"last_modified_time": "2015-01-30T09:37:31Z",
"currency_code": "USD"
},
"transaction_token": "string"
}
],
"user_token": "tford",
"created_time": "2015-01-28T23:21:46Z"
}
}
]
}

Possible values for cardholder_presence field

Code Description
0 Card holder not present
1 Card holder present

Possible values for card_presence field

Code Description
0 Card not present
1 Card present

Transaction response codes

All transaction event notifications contain a response.code field that together with the type field describes the transaction event that occurred. In general, the type field categorizes the attempted transaction, and the response.code field describes the outcome of that attempt. For example, the combination of type=authorization and response.code=1001 describes a card authorization attempt that failed because the card was expired.

The following Response Codes table describes the possible values for the response.code field. The type field is described in the Transaction Events section. The response.memo field can contain additional detail.

Note: You can identify declined transactions by finding those with type=authorization or pindebit, and a response.code of anything other than 0000 or 0002. All declined transactions, and only declined transactions, have this combination.

Response Codes Table

Code Description
0000 Approved or completed successfully
0002 Partially approved
1001 Card expired
1002 Card suspicious
1003 Card suspended
1004 Card stolen - pickup
1005 Card lost
1011 Card not found
1012 Invalid card holder
1014 Account does not exist
1015 Invalid message
1016 Not sufficient funds
1017 Transaction already reversed
1018 Transaction already confirmed
1019 REVERSAL NOT ALLOWED
1020 VOID NOT ALLOWED
1021 ORIGINAL VOIDED
1802 Missing fields
1803 Extra fields
1804 Invalid card
1806 Card not active
1808 Inactive card
1809 Invalid Pin
1810 Invalid amount
1811 Internal error (DB)
1812 Internal error (TXN)
1813 Card holder not active
1814 Card holder not enabled
1815 Card holder expired
1816 Original not found
1817 Exceeds withdrawal count limit
1818 Configuration error
1819 Invalid terminal
1820 Inactive merchant
1821 Invalid merchant
1822 Duplicate entity
1823 Invalid acquirer
1824 Accounting exception
1825 Invalid card security code
1826 Security violation
1827 AVS no info
1829 AVS match
1830 Card account verification success
1831 Card not present
1832 Auth restriction found for given mid or mcc
1833 Invalid Chip Data / ARQC
1834 Exceeds withdrawal amount limit
1835 Card product controls prevent transaction
1836 Corresponding JIT Capture Failure
1837 Corresponding JIT Refund Failure
1838 International transaction decline
1839 Corresponding JIT Reversal Failure
1841 Exceeds max auth amount limit
1842 Account load failed
1843 Network load not allowed
1844 Network decline advice
1845 Transactions other than ATM, ECommerce, Mail and Phone order not allowed
1846 ATM transaction not allowed
1847 ECommerce transaction not allowed
1848 Mail order transactions not allowed
1849 Phone order transactions not allowed
1850 Card not present
1851 Card holder not present
1852 PIN not present
1853 ICC not present
1854 Card security code not present
1864 Transactions not allowed from this country
1865 Insufficient funds in program reserve account
1866 Invalid Card Service Code