Create a Transfer

Create a Transfer.

Request
Request Body schema: application/hal+json
Any of:
object or null

Object detailing any Buyer Charges that got included in the Authorization.

object

Additional information about the purchase. Used for Level 2 and Level 3 Processing.

adjustment_request
boolean or null

Details if the transfer was created to adjust funds.

amount
required
integer <int64>

The total amount that will be debited in cents (e.g. 100 cents to debit $1.00).

currency
required
string

ISO 4217 3 letter currency code.

Enum: "AED" "AFN" "ALL" "AMD" "ANG" … 174 more
destination
string or null

ID of the Payment Instrument where funds will be sent.

device
string or null

The ID of the activated device.

object

Configure the details of the activated device.

fee
integer <int64>

The minimum amount of the Transfer you'd like to collect as your fee in cents. Defaults to zero (must be less than or equal to the amount).

  • If the fees applied by the 'Fee Profile' are higher than the value passed in 'fee', 'fee' will not be applied and have no effect.
  • If the fees applied by the 'Fee Profile' are lower than the value passed in 'fee', an additional fee is be applied, in addition to the fees generated by the Fee Profile.
    • The additional fee is equal to the difference between the value passed in 'fee' and the fees generated by the Fee Profile.
fraud_session_id
string

The fraud_session_session ID you want to review for fraud. For more info, see Fraud Detection.

hsa_fsa_payment
boolean or null

Set to to true to process a payment using a Payment Instrument created from a health savings account (HSA) or flexible spending account (FSA).

idempotency_id
string or null

A randomly generated value that'll be associated with the request.

merchant
required
string or null

ID of the Merchant the Transfer was created under.

operation_key
string or null

Details the operation that'll be performed in the transaction.

Enum: "PUSH_TO_CARD" "PULL_FROM_CARD" "CARD_PRESENT_DEBIT" "CARD_PRESENT_UNREFERENCED_REFUND" "SALE" … 3 more
processor
string

Name of the transaction processor.

source
required
string

ID of the Payment Instrument where funds get debited.

security_code
string or null

The 3-4 digit security code for the card (i.e. CVV code). Include the CVV code of the card to include Card Verification Checks with the created Transfer.

statement_descriptor
string or null
  • The description of the transaction that appears on the buyer's bank or card statement.
  • statement_descriptors for `Transfers` in live enviroments will have a FI* prefix.
  • tags
    object or null

    Include up to 50 key: value pairs to annotate requests with custom metadata.

    • Maximum character length for individual keys is 40.
    • Maximum character length for individual values is 500.

    (e.g., order number: 25, item_type: produce, department: sales, etc.)

    object or null

    The 3D secure information for an authorization.

    Responses
    201

    Single Transfer object

    400

    Error

    401

    Authentication information is missing or invalid

    402

    402 - Payment required

    403

    Forbidden

    404

    Object does not exist

    406

    Not Acceptable

    422

    Invalid field

    post/transfers
    Request samples
    Response samples
    application/hal+json
    {}

    List Transfers

    Retrieve a list of Transfers.

    Request
    query Parameters
    sort
    string

    Specify key to be used for sorting the collection.

    after_cursor
    string

    Return every resource created after the cursor value.

    limit
    integer

    The numbers of items to return.

    Example: limit=10
    amount
    integer

    Filter by an amount equal to the given value.

    amount.gte
    integer

    Filter by an amount greater than or equal.

    amount.gt
    integer

    Filter by an amount greater than.

    amount.lte
    integer

    Filter by an amount less than or equal.

    amount.lt
    integer

    Filter by an amount less than.

    created_at.gte
    string

    Filter where created_at is after the given date.

    Example: created_at.gte=2022-09-27T11:21:23
    created_at.lte
    string

    Filter where created_at is before the given date.

    Example: created_at.lte=2022-09-27T11:21:23
    idempotency_id
    string

    Filter by idempotency_id.

    id
    string

    Filter by id.

    state
    any

    Filter by Transaction state.

    Enum: "ALL" "SUCCEEDED" "FAILED" "PENDING" "CANCELED"
    ready_to_settle_at.gte
    string

    Filter by ready_to_settle_at.

    ready_to_settle_at.lte
    string

    Filter by ready_to_settle_at.

    statement_descriptor
    integer

    Filter by statement_descriptor.

    trace_id
    string

    Filter by trace_id.

    updated_at.gte
    string

    Filter where updated_at is after the given date.

    updated_at.lte
    string

    Filter where updated_at is before the given date.

    instrument_bin
    string

    Filter by Bank Identification Number (BIN). The BIN is the first 6 digits of the masked number.

    instrument_account_last4
    string

    Filter Transactions by the last 4 digits of the bank account. The bank account last 4 are the last 4 digits of the masked number instrument_account_last4=9444 BIN.

    instrument_brand_type
    string

    Filter by card brand. Available card brand types can be found in the drop-down.

    merchant_identity_id
    string

    Filter by Identity ID.

    merchant_identity_name
    string

    Filter Transactions by Identity name. The name is not case-sensitive.

    instrument_name
    string

    Filter Transactions by Payment Instrument name.

    instrument_type
    string

    Filter Transactions by Payment Instrument type. Available instrument types include: Bank Account or Payment Card

    merchant_id
    string

    Filter by Merchant ID.

    merchant_mid
    string

    Filter by Merchant Identification Number (MID).

    instrument_card_last4
    string

    Filter by the payment card last 4 digits.

    merchant_processor_id
    string

    Filter by Processor ID.

    type
    string

    Filter by Transfer type. Available type filters include: All, Debits, Refunds, or Credits.

    Enum: "ALL" "DEBITS" "CREDITS" "REVERSAL" "SETTLEMENT"
    Example: type=REVERSAL
    before_cursor
    string

    Return every resource created before the cursor value.

    tags.key
    string

    Filter by the key of a Tag.

    tags.value
    string

    Filter by the value of a Tag.

    Responses
    200

    List of Transfer objects

    401

    Authentication information is missing or invalid

    403

    Forbidden

    404

    Object does not exist

    406

    Not Acceptable

    get/transfers
    Request samples
    curl https://finix.sandbox-payments-api.com/transfers \
      -H "Content-Type: application/vnd.api+json" \
      -u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e
    
    Response samples
    application/hal+json
    {}

    Fetch a Transfer

    Retrieve a Transfer.

    Request
    path Parameters
    transfer_id
    required
    string

    ID of Transfer resource.

    Responses
    200

    Single Transfer object

    401

    Authentication information is missing or invalid

    403

    Forbidden

    404

    Object does not exist

    406

    Not Acceptable

    get/transfers/{transfer_id}
    Request samples
    curl https://finix.sandbox-payments-api.com/transfers/TRvypRNBeqM597Zi4DcqJ2Vh \
      -H "Content-Type: application/vnd.api+json" \
      -u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e
    
    Response samples
    application/hal+json
    {}

    Update a Transfer

    Update a Transfer.

    Request
    path Parameters
    transfer_id
    required
    string

    ID of Transfer resource.

    Request Body schema: application/hal+json
    tags
    object or null

    Include up to 50 key: value pairs to annotate requests with custom metadata.

    • Maximum character length for individual keys is 40.
    • Maximum character length for individual values is 500.

    (e.g., order number: 25, item_type: produce, department: sales, etc.)

    Responses
    200

    Single Transfer object

    401

    Authentication information is missing or invalid

    403

    Forbidden

    404

    Object does not exist

    406

    Not Acceptable

    put/transfers/{transfer_id}
    Request samples
    curl https://finix.sandbox-payments-api.com/transfers/TRvypRNBeqM597Zi4DcqJ2Vh \
      -H "Content-Type: application/vnd.api+json" \
      -u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e \
      -X PUT \
      -d '
      {
        "tags": {
          "test": "sale"
        }
      }'
    Response samples
    application/hal+json
    {}

    Refund or Reverse a Transfer

    Reverse a transfer with a type of DEBIT. This reversal creates a new Transfer resource with a type of REVERSAL.

    Related Guides: Refunding Payments

    Request
    path Parameters
    transfer_id
    required
    string

    ID of Transfer object.

    Request Body schema: application/hal+json
    Any of:
    idempotency_id
    string or null

    Pass any randomly generated or internal ID to idempotently identify Transfers, Authorizations, and refund requests.

    refund_amount
    integer

    The amount of the refund in cents. It must be equal to or less than the amount of the original Transfer.

    tags
    object or null

    Include up to 50 key: value pairs to annotate requests with custom metadata.

    • Maximum character length for individual keys is 40.
    • Maximum character length for individual values is 500.

    (e.g., order number: 25, item_type: produce, department: sales, etc.)

    Responses
    201

    Single Transfer object

    400

    Error

    401

    Authentication information is missing or invalid

    403

    Forbidden

    404

    Object does not exist

    406

    Not Acceptable

    422

    Error

    post/transfers/{transfer_id}/reversals
    Request samples
    Response samples
    application/hal+json
    {}

    List Reversals on a Transfer

    Retrieve a list of reversals for a Transfer.

    Request
    path Parameters
    transfer_id
    required
    string

    ID of Transfer object.

    query Parameters
    limit
    integer <int64>

    The number of entries to return.

    after_cursor
    string

    Return every resource created after the cursor value.

    before_cursor
    string

    Return every resource created before the cursor value.

    tags.key
    string

    Filter by the key of a Tag.

    tags.value
    string

    Filter by the value of a Tag.

    Responses
    200

    List of Reversals

    401

    Authentication information is missing or invalid

    403

    Forbidden

    404

    Object does not exist

    406

    Not Acceptable

    get/transfers/{transfer_id}/reversals
    Request samples
    curl https://finix.sandbox-payments-api.com/transfers/TRacB6Q6GcW6yvFUKawSnMEP/reversals \
      -H "Content-Type: application/vnd.api+json" \
      -u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e
    
    Response samples
    application/hal+json
    {}