Create a Merchant

Create a Merchant to start the underwriting (also called provisioning) process for your seller. Merchants must be created under an Identity.

A bank account must be associated with the previously created Identity before a Merchant can be successfully onboarded and verified.

Request
path Parameters
identity_id
required
string

ID of Identity to fetch.

header Parameters
Accept
string
Default: application/hal+json
Finix-Version
string
Default: 2018-01-01

Specify the API version of your request. For more details, see Versioning.

Example: 2022-02-01
Request Body schema: application/json
gateway
string

Name of the gateway that processes the Merchant's card present transactions. Use gateway only to enable a merchant to accept card present transactions.

Enum: "TRIPOS_CLOUD_V1" "TRIPOS_MOBILE_V1" "DATACAP_V1"
default_partial_authorization_enabled
boolean
Default: false
  • Set to true if you want to enable partial authorizations for a specific Merchant.
  • Partial authorizations enables the Merchant to collect a portion of the amount if the cardholder doesn't have the funds to cover the entire amount on their card.
processor
required
string or null

Set the acquiring processor. Avalible values include:

  • DUMMY_V1
  • FINIX_V1
  • LITLE_V1
  • MASTERCARD_V1
  • NMI_V1
  • VANTIV_V1
  • VISA_V1
Use DUMMY_V1 or null to use your sandbox. For more details on which processor to use, reach out to your Finix point of contact or email Finix Support.

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 Merchant object

400

Error

401

Authentication information is missing or invalid

403

Forbidden

404

Object does not exist

406

Not Acceptable

422

Error

post/identities/{identity_id}/merchants
Request samples
Response samples
application/json
{}

List Merchants

Retrieve a list of Merchants.

For details on how to query endpoints using the available parameters, see Query Parameters.

Request
query Parameters
id
string

Filter by id.

after_cursor
string

Return every resource created after the cursor value.

Example: after_cursor=TRnasXQ5AmjsLnPMwnme7TL4
before_cursor
string

Return every resource created before the cursor value.

Example: before_cursor=TRnasXQ5AmjsLnPMwnme7TL4
created_at.gte
string <date-time>

Filter where created_at is after the given date.

Example: created_at.gte=2022-09-27T11:21:23
created_at.lte
string <date-time>

Filter where created_at is before the given date.

Example: created_at.lte=2022-09-27T11:21:23
limit
integer

The numbers of items to return.

Example: limit=10
updated_at.gte
string <date-time>

Filter where updated_at is after the given date.

Example: updated_at.gte=2022-09-27T11:21:23
updated_at.lte
string <date-time>

Filter where updated_at is before the given date.

Example: updated_at.lte=2023-01-21T10:17:22
header Parameters
Accept
string
Default: application/hal+json

Body Header

Responses
200

List of Merchants objects

400

Error

401

Authentication information is missing or invalid

403

Forbidden

404

Object does not exist

406

Not Acceptable

get/merchants
Request samples
curl "https://finix.sandbox-payments-api.com/merchants" \
  -H "Finix-Version: 2022-02-01" \
  -u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e
Response samples
application/json
{}

Fetch a Merchant

Retrieve the details of a Merchant.

Request
path Parameters
merchant_id
required
string

ID of Merchant.

header Parameters
Accept
string
Default: application/hal+json
Responses
200

Single Merchant object

401

Authentication information is missing or invalid

403

Forbidden

404

Object does not exist

406

Not Acceptable

get/merchants/{merchant_id}
Request samples
curl "https://finix.sandbox-payments-api.com/merchants/MUmUL7aBsHkxVLQawJxEXw6N" \
  -H "Content-Type: application/json" \
  -H "Finix-Version: 2022-02-01" \
  -u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e
Response samples
application/json
{}

Update a Merchant

Update a Merchant to:

  • Change the Identity information saved with the underlying processor
  • Enable Level 2/3 processing
  • Enable buyer charges
  • Enable partial authorizations
  • Disable a Merchant so the seller can't create new Transfers and Authorizations
  • Disable a Merchant so their Settlements cannot be approved.
Request
path Parameters
merchant_id
required
string

ID of Merchant.

header Parameters
Accept
string
Default: application/hal+json
Finix-Version
string
Default: 2018-01-01

Specify the API version of your request. For more details, see Versioning.

Example: 2022-02-01
Request Body schema: application/json
Any of:
card_cvv_required
boolean

Set to true to require the card's CVV code.

card_expiration_date_required
boolean

Set to true to require the card's expiration date.

convenience_charges_enabled
boolean

Set to true if you want to enable the Merchant to accept convenience fees and/or service fees.

creating_transfer_from_report_enabled
boolean

Set to true to automatically create Transfers once settlement reports get generated.

fee_ready_to_settle_upon
string

Details how the Merchant settles fees.

gross_settlement_enabled
boolean

Set to true to enable gross settlements.

level_two_level_three_data_enabled
boolean

Set to true to enable the Merchant for Level 2 and Level 3 processing. Default value is false.

merchant_name
string

The legal name saved in the Merchant resource.

processing_enabled
boolean

Details if transaction processing is enabled for the Merchant.

ready_to_settle_upon
string

Details how transactions captured by the Merchant are settled.

rent_surcharges_enabled
boolean

Set to true if you want to enable a Merchant to accept rent charges.

settlement_enabled
boolean

Details if settlement processing is enabled for the Merchant.

settlement_funding_identifier
string
Default: "UNSET"

Includes additional information (like the MID or Merchant name) when submitting funding Transfers to processors.

  • UNSET: No additional details get provided to the processor.
  • MID_AND_DATE: The MID of the Merchant and the date the funding Transfer was submitted (Date is in UTC). e.g MID:12345678-20220225
  • MID_AND_MERCHANT_NAME: The MID of the Merchant and the Merchant#name (white spaces will be removed). e.g. MID:12345678-NameOfMerchant

These details appear alongside the seller's payout in their bank account as a description of the deposit.

Enum: "UNSET" "MID_AND_DATE" "MID_AND_MERCHANT_NAME"
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 Merchant object

401

Authentication information is missing or invalid

403

Forbidden

404

Object does not exist

406

Not Acceptable

put/merchants/{merchant_id}
Request samples
Response samples
application/json
{}

Reverify a Merchant

Verify a Merchant if the onboarding_state for a Merchant returns FAILED, or if the correct the seller needs to update the saved in their information Identity.

Related Guides: Onboarding Process

Request
path Parameters
merchant_id
required
string

ID of Merchant object.

header Parameters
Accept
string
Default: application/hal+json
Finix-Version
string
Default: 2018-01-01

Specify the API version of your request. For more details, see Versioning.

Example: 2022-02-01
Request Body schema: application/json
id
string

The ID of the Verification attempt (begins with VIXXX).

created_at
string <date-time>

Timestamp of when the object was created.

updated_at
string <date-time>

Timestamp of when the object was last updated.

application
string

ID of the Application the Merchant was created under.

identity
string or null

ID of the Identity that created the Merchant.

merchant
string or null

ID of the Merchant resource.

merchant_identity
string or null

ID of the Identity associated with the Merchant.

messages
Array of objects

Provides additional details about the verification (e.g why it failed). This field is usually null.

payment_instrument
string or null

The Payment Instrument that's used to settle the Merchant's processed funds.

object

Details the verification results of Payment Instruments.

processor
string

Name of the verification processor.

(Raw (object or null)) or (Raw (string or null))

Raw response from the processor.

state
string

The status of the Verification request.

Enum: "PENDING" "SUCCEEDED" "FAILED"
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.)

trace_id
string

Trace ID of the Verification. The processor sends back the trace_id so you can track the verification end-to-end.

type
string

Details what type of resource is getting verified.

Enum: "MERCHANT" "PAYMENT_INSTRUMENT"
object

For your convenience, every response includes several URLs which link to resources relevant to the request. You can use these _links to make your follow-up requests and quickly access relevant IDs.

Responses
201

Single Verification object

400

Error

401

Authentication information is missing or invalid

403

Forbidden

404

Object does not exist

406

Not Acceptable

post/merchants/{merchant_id}/verifications
Request samples
Response samples
application/json
{}