Skip to content

Partner Boarding Merchant

Create new Merchant

Request Method: POST

URL Endpoint: /api/merchant

NameTypeDefaultDescriptionRequiredRegex
namestringMerchants Nametrue([0-9a-z]{1,100})
descriptionstringMerchant Description - internal descriptiontrue([0-9a-z]{1,254})
statusstringAccount Statustrue(active|disabled)
websitestringWebsite URL([0-9a-z]{1,100})
phonestringMerchant Phone - digits onlytrue([0-9]{10})
receipt_emailstringReceipt Email - default receipt from emailtrue
fee_schedule_idstringFee Schedule ID assigned to merchanttrue([0-9a-v]{20})
timezonestringTimezone - EX America/Chicagotrue
accept_tosboolfalseShould we accept the TOS?
billingobjectBilling details, null if you want to pay fees on behalf of the merchant
billing.achobjectACH container
billing.typestringSEC Type. PPD=Personal CCD=Corporate Accounttrue(ppd|ccd)
billing.routing_numberstringACH Routing Number
billing.account_numberstringACH Account Number
billing.account_typestringACH Account Typetrue(checking|savings)
billing_contactobject
billing_contact.first_namestringFirst Nametrue([0-9a-z \w]{1,100})
billing_contact.last_namestringLast Nametrue([0-9a-z \w]{1,100})
billing_contact.companystringCompany Nametrue([0-9a-z \w]{1,100})
billing_contact.address_line_1stringAddress Line 1true([0-9a-z \w]{1,100})
billing_contact.address_line_2stringAddress Line 2true([0-9a-z \w]{0,100})
billing_contact.citystringCitytrue([0-9a-z \w]{1,100})
billing_contact.statestringStatetrue([A-Z]{2})
billing_contact.postal_codestringPostal Code - Validated based on countrytrue
billing_contact.countrystringCountry codetrue([A-Z]{2})
billing_contact.emailstringEmail addresstrue
billing_contact.phonestringPhone - digits onlytrue([0-9]{10})
primary_contactobject
primary_contact.first_namestringFirst Nametrue([0-9a-z \w]{1,100})
primary_contact.last_namestringLast Nametrue([0-9a-z \w]{1,100})
primary_contact.companystringCompany Nametrue([0-9a-z \w]{1,100})
primary_contact.address_line_1stringAddress Line 1true([0-9a-z \w]{1,100})
primary_contact.address_line_2stringAddress Line 2true([0-9a-z \w]{1,100})
primary_contact.citystringCitytrue([0-9a-z \w]{1,100})
primary_contact.statestringStatetrue([A-Z]{2})
primary_contact.postal_codestringPostal Code - Validated based on countrytrue
primary_contact.countrystringCountry codetrue([A-Z]{2})
primary_contact.emailstringEmail addresstrue
primary_contact.phonestringPhone - digits onlytrue([0-9]{10})
primary_contact.phonestringPhone - digits onlytrue([0-9]{10})
userobject
user.usernamestringPrimary user account to createtrue([a-zA-Z][a-zA-Z_0-9.]{6,50})
user.namestringUsers display nametrue([0-9a-z \w]{1,100})
user.phonestringPhone - digits onlytrue([0-9]{10})
user.emailstringUsers email addresstrue
user.timezonestringTimezone - EX America/Chicagotrue
user.statusstringUsers statustrue(active|disabled)
user.rolestringPrimary users role, should always be admintrue(admin|standard)
user.send_welcomeboolfalseToggle to send a welcome email
user.create_api_keyboolfalseToggle to create the private api key and return it
user.create_pub_api_keyboolfalseToggle to create the public api key and return it
permissionsobjectUse defaultsSee below for available permissions. If this object is not passed then it will use the gateway defined defaults. Any permission not provided will default to false

Available Permissions:

NameTypeDefaultDescription
support_blind_creditsboolfalseAllow merchant to process blind credits
allow_rule_engine_accessboolfalseAllow merchant to use our fraud rules
allow_invoice_accessboolfalseAllow merchant to use invoicing
allow_customer_vault_accessboolfalseAllow merchant to use customer vault
allow_recurring_billing_accessboolfalseAllow merchant to use recurring billing
allow_cart_accessboolfalseAllow merchant to use our hosted cart
allow_developer_hub_linkboolfalseAllow merchant to see our developer hub link
allow_advanced_fieldsboolfalseAllow merchant to pass advanced fields for Level 3
enable_terminal_debit_transactionsboolfalseAllow merchant to process debit transaciton on terminals
allow_defaults_populationboolfalseAllow merchant to use L3 auto population
allow_billing_accessboolfalseAllow merchant to see billing reports, if they are set up as bill Merchant
allow_dashboard_statsboolfalseAllow merchant to see dashboard stats
allow_file_batchboolfalseAllow merchant to access our file batch upload
allow_automatic_account_updaterboolfalseAllow merchant to access our account updater
allow_surchargeboolfalseAllow merchant to use surcharge
allow_midigatorboolfalseAllow merchant to use our Midigator integration
allow_advanced_rule_engine_featuresboolfalseAllow merchant to access our advanced rule engine features
allow_dual_pricingboolfalseAllow merchant to use Dual Pricing (recommend v2 below)
allow_terminal_creditsboolfalseAllow merchant to process blind credits on terminals
enforce_2fa_requirementboolfalseRequires merchant to have 2FA setup for processing Credits
allow_transaction_reporting_totalsboolfalseAllow merchant to use our Transaction Reporting Totals
allow_dual_pricing_v2boolfalseAllow merchant to use Dual Pricing v2
allow_simple_payments_accessboolfalseAllow merchant access our Simple Payments Product
allow_virtual_terminal_sessionboolfalseAllow merchant to access our Virtual Terminal Session management
require_2fa_for_user_accessboolfalseRequires all users on the merchant to setup 2FA to access the gateway via User/Password

Change merchant status

Request Method: GET

URL Endpoint: /api/merchant/{merchantid}/status/{status}

NameTypeDefaultDescriptionRequiredRegex
merchantidstringMerchants IDtrue([0-9a-v]{20})
statusstringMerchants Statustrue(active|disable)

Create new Processor

Request Method: POST

URL Endpoint: /api/merchant/{merchantid}/processor

NameTypeDefaultDescriptionRequiredRegex
namestringMerchants Nametrue([0-9a-z ]{1,100})
descriptionstringMerchant Description - internal descriptiontrue([0-9a-z]{1,254})
statusstringAccount Statustrue(active|disabled)
default_cardboolShould we use this as the default card processor?
timezonestringTimezone - EX America/Chicagotrue
tagstringTag - used if you are looking to apply custom fraud rules
settle_atstringTime to auto settle nightly. Only in 30min intervals.trueHH:MM:00
payment_adj_typestring"flat" or "percentage"false
payment_adj_valuintuint assums 3 decimal places. 3000 = 3.000%false
featuresobjectThis object sets various feature flags on this processorfalse
features.disable_auto_settleboolfalseThis can disable nightly auto settlement from ocurringfalse
features.hide_in_vtboolfalseThis will hide this processor from appearing in the Virtual Terminalfalse
supported_currencies[]stringThis should contain an array of currency codes, for example "usd", if this is not provided we will default to all currencies the processor supportsfalse([a-z]{3})
ruleset[]stringThis should contain an array of ruleset IDsfalse
settingsobjectSettings Container
settings.tsys_sierraobjectSettings related to TSYS var sheet
limitsobjectLimits Container
limits.saleobjectLimit settings for Sale/Authorization transactions
limits.sale.singleuint0Single transaction limit in lowest unit for currency. $1.00 = 100. 0 indicates no limit
limits.sale.dailyuint0Daily transaction limit in lowest unit for currency. $1.00 = 100. 0 indicates no limit. Based of of current day in UTC
limits.sale.monthlyuint0Monthly transaction limit in lowest unit for currency. $1.00 = 100. 0 indicates no limit. Based of of current day in UTC
limits.creditobjectLimit settings for Credit transactions
limits.credit.singleuint0Single transaction limit in lowest unit for currency. $1.00 = 100. 0 indicates no limit
limits.credit.dailyuint0Daily transaction limit in lowest unit for currency. $1.00 = 100. 0 indicates no limit. Based of of current day in UTC
limits.credit.monthlyuint0Monthly transaction limit in lowest unit for currency. $1.00 = 100. 0 indicates no limit. Based of of current day in UTC

Create New User for Merchant

Request Method: POST

URL Endpoint: /api/merchant/{merchantid}/user

NameTypeDefaultDescriptionRequiredRegex
usernamestringPrimary user account to createtrue([a-zA-Z][a-zA-Z_0-9.]{6,50})
namestringUsers display nametrue([0-9a-z \w]{1,100})
phonestringPhone - digits onlytrue([0-9]{10})
emailstringUsers email addresstrue
timezonestringTimezone - EX America/Chicagotrue
statusstringUsers statustrue(active|disabled)
rolestringPrimary users role, should always be admintrue(admin|standard)
send_welcomeboolfalseToggle to send a welcome email
create_api_keyboolfalseToggle to create the private api key and return it
create_pub_api_keyboolfalseToggle to create the public api key and return it
permissionsobjectUse defaultsSee below for available permissions. Defaults to false for any not provided.

Available Permissions:

NameTypeDefaultDescription
support_blind_creditsboolfalseAllow merchant to process blind credits
allow_rule_engine_accessboolfalseAllow merchant to use our fraud rules
allow_invoice_accessboolfalseAllow merchant to use invoicing
allow_customer_vault_accessboolfalseAllow merchant to use customer vault
allow_recurring_billing_accessboolfalseAllow merchant to use recurring billing
allow_cart_accessboolfalseAllow merchant to use our hosted cart
allow_developer_hub_linkboolfalseAllow merchant to see our developer hub link
allow_advanced_fieldsboolfalseAllow merchant to pass advanced fields for Level 3
enable_terminal_debit_transactionsboolfalseAllow merchant to process debit transactions on terminals
allow_defaults_populationboolfalseAllow merchant to use L3 auto population
allow_billing_accessboolfalseAllow merchant to see billing reports, if set up as bill Merchant
allow_dashboard_statsboolfalseAllow merchant to see dashboard stats
allow_file_batchboolfalseAllow merchant to access our file batch upload
allow_automatic_account_updaterboolfalseAllow merchant to access our account updater
allow_surchargeboolfalseAllow merchant to use surcharge
allow_midigatorboolfalseAllow merchant to use our Midigator integration
allow_advanced_rule_engine_featuresboolfalseAllow access to our advanced rule engine features
allow_dual_pricingboolfalseAllow merchant to use Dual Pricing (recommend v2 below)
allow_terminal_creditsboolfalseAllow merchant to process blind credits on terminals
enforce_2fa_requirementboolfalseRequires merchant to have 2FA setup for processing Credits
allow_transaction_reporting_totalsboolfalseAllow merchant to use our Transaction Reporting Totals
allow_dual_pricing_v2boolfalseAllow merchant to use Dual Pricing v2
allow_simple_payments_accessboolfalseAllow merchant access to our Simple Payments Product
allow_virtual_terminal_sessionboolfalseAllow merchant to access our Virtual Terminal Session management
require_2fa_for_user_accessboolfalseRequires all users to setup 2FA to access the gateway via User/Password

Appendix

Supported Timezones

Name
UTC
US/Alaska
US/Aleutian
US/Arizona
US/Central
US/Eastern
US/East-Indiana
US/Hawaii
US/Indiana-Starke
US/Michigan
US/Mountain
US/Pacific
US/Samoa