The Boarding API is an interface into Relay, the merchant management platform. You can utilize the Boarding API to create and update merchant accounts via API, instead of using the Relay web interface.
<aside> 👟 Note about branding: Applications generated using the Boarding API cannot be white labeled. The merchant application contains Run Payments branding as an indicator that the new merchant account is independent from the partner’s software platform.
</aside>
The following process outlines the typical workflow when using the Boarding API to create a merchant account and send the digital application to the owner for reviewing and signing:
To help you get started with testing your integration, we have created a Postman collection that contains templates for all the requests included in the Boarding API.
<aside> <img src="https://cdn.worldvectorlogo.com/logos/postman.svg" alt="https://cdn.worldvectorlogo.com/logos/postman.svg" width="40px" /> Run in Postman
</aside>
Before creating a new merchant account, you can create a fee template through Relay. Once you have created at least one template in Relay, you can enable this as a default when calling the Boarding API.
The fee template is required when creating a new account to automatically pull in pre-configured default values for the new account. Multiple templates can be created that use different sales codes and default fees.
When creating an account using the API, the fee template you provide in the request determines what default values that are applied to the new account. To supplement the values automatically applied by the fee template with different values, you can amend this in the API call, and it will override the default pricing found within the template.
If you are looking to provide merchants with an application that requires most fields to be completed by the business owner, you are welcome to pass the minimum amount of data needed to create an account.
Field | Size | Type | Comments |
---|---|---|---|
platform |
N/A | String | Either Payroc or Fiserv. Any other values will throw error. |
rep_code |
N/A | String | Must be one a rep_code that exists on your account. See rep_codes endpoint. |
dba_name |
150 | String | |
signer_first_name |
100 | String | |
signer_last_name |
100 | String | |
signer_email |
150 | String | |
pricing |
N/A | Object |
Submit a GET
request to the merchants or merchants/:id endpoint to view all merchant data including the merchant status field where you can find information on the current state of new accounts. Specifying the merchant ID in the request will pull information specifically for that merchant account.
<aside> 👟 To view test merchant accounts created in Relay, click into profile or user and enable test mode
</aside>
merchant_status | Meaning |
---|---|
new |
New |
sent_for_signature |
Sent For Signature |
signed |
Signed |
in_underwriting |
In Underwriting |
boarded |
Boarded |
live |
Live |
cancelled |
Cancelled |
declined |
Declined |
unknown |
Unknown |
The Boarding API uses JSON web services and provides resources for boarding new merchant accounts and managing existing merchant accounts.
The API complements the Relay merchant onboarding process; however, the web application must be used to complete tasks such as creating the fee templates.
The Boarding API uses a Client ID and Client Secret generated from Relay Sales Office access. To obtain the Client ID and Client Secret, you must have Relay access as Sales Office, this will allow onboarding capability and visibility into merchants and future merchants stored within your hierarchy.
<aside> 👟 Let’s Run the Boarding API!
</aside>
Use the POST method to create a new merchant account with the option to use a pre-existing pricing template that was been created within the Relay web interface. A successful request returns the merchant_id
property, which is used to identify the account within Relay, and can be used in subsequent API calls to receive merchant data.
Method          POST
URLÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â https://apps.runpayments.io/ords/relay/api/boarding/v1/merchants
Produces        application/json
Field | Size | Type | Required | Comments |
---|---|---|---|---|
platform |
N/A | String | Y | Either payroc or fiserv. Any other values will throw error. |
rep_code |
N/A | String | Y | Must be one a rep_code that exists on your account. See rep_codes endpoint. |
customer_id |
N/A | Number | N | Optional. Used if adding to an existing account. Customer Id can be fetched using merchant/:id endpoint |
fee_template_id |
N/A | Number | N | Optional |
dba_name |
150 | String | Y | |
legal_name |
150 | String | N | |
tax_id |
12 | String | N | |
years_in_business |
Number | N | ||
website |
250 | String | N | |
phone |
12 | String | N | In format ###-###-#### |
mcc_code |
4 | String | N | See /mcc |
business_desc |
400 | String | N | |
when_card_charged |
N/A | String | N | Must be one of the following in_advance , on_delivery |
services_provided_in |
N/A | String | N | Must be one of the following 0_7_days , 8_14_days , 15_30_days , over_30_days |
refund_policy |
N/A | String | N | Must be one of the following no_refunds , ss_than_30_days , less_than_60_days |
seasonal |
N/A | Boolean | N | |
seasonal_months |
30 | String | N | Colon delimited month numbers (e.g. 1:2:10 would be January, February and October). Required if seasonal is true. |
annual_volume |
N/A | Number | N | |
average_ticket |
N/A | Number | N | |
in_person_pct |
N/A | Number | N | |
online_pct |
N/A | Number | N | |
telephone_pct |
N/A | Number | N | |
ownership_type |
N/A | String | N | Fiserv: Must be one of the following 'llc ', 'sole_proprietor ', 'government ', 'not_for_profit ', 'partnership ', 'tax_exempt ', 'public_corp ', 'private_corp ' Payroc: 'llc ', 'sole_proprietor ', 'government ', 'not_for_profit ', 'partnership ', 's_corp ', 'c_corp ', 'other ' |
signer_first_name |
100 | String | Y | |
signer_last_name |
100 | String | Y | |
signer_dob |
10 | String | N | In format mm/dd/yyyy |
signer_res_address1 |
150 | String | N | |
signer_res_address2 |
150 | String | N | |
signer_res_city |
150 | String | N | |
signer_res_state |
2 | String | N | |
signer_res_zip |
10 | String | N | |
signer_email |
150 | String | Y | |
signer_phone |
12 | String | N | In format ###-###-#### |
signer_ownership_pct |
N/A | Number | N | |
addresses |
N/A | Array | N | |
pricing |
N/A | Object | Y | |
fees |
N/A | Object | N | |
products |
N/A | Array | N |
Field | Size | Type | Required | Comments |
---|---|---|---|---|
address1 |
150 | String | Y | |
address2 |
150 | String | N | Default to 1 if not provided |
city |
150 | String | Y | |
state |
2 | String | Y | 2 Character state abbreviation |
zip |
10 | String | Y | |
address_type |
N/A | String | Y | Must be one of the following: 'business ', 'legal ', 'mail_to ' |