Skip to main content

Create Merchant

Create a new merchant in the system and initiate the onboarding process.

Endpoint​

POST /api/merchants

Header parameters​

HeaderTypeRequiredDescription
Ocp-Apim-Subscription-KeystringrequiredYour PaySuite subscription key
Content-Typestringrequiredapplication/json

Request parameters​

ParameterTypeRequiredDescription
customerIdstring max(100)requiredA unique identifier for the customer in the SoftCo product.

This will be returned in the webhook events and should be used to identify the customer in the SoftCo product.
customerLegalNamestringrequiredLegal name of the customer business.
stripePlatformAccountIdstring max(100)requiredA Stripe Platform account Id.

This will be provided to the SoftCo during SoftCo registration
countrystring max(2)requiredISO 3166-1 alpha-2 country code (supported country codes are GB, IE, NZ, AU)
redirectUrlstringrequiredURL to redirect after onboarding completion. This redirect will happen trigger after the Stripe hosted onboarding flow has been completed (or cancelled) by the customer.
stripePriceGroupIdstring max(100)optionalStripe pricing group identifier. This must be an active Stripe price group id obtained from PaySuite during project setup. If no value provided, the default pricing scheme will be applied to the customer.
stripeTosAcceptanceDatedateTimeoptionalISO 8601 date when the account representitive accepted the service agreement. This is only applicable if the Stripe service agreement are to be accepted by the customer outside of the Stripe hosted onboarded. If empty, then Stripe will require the customer to accept the terms during the hosted onboarding journey.
stripeTosAcceptanceIpstringoptionalIP address from which the account representitive accepted the service agreement (required if stripeTosAcceptanceDate provided). E.g. 127.0.0.1
evoOrganizationIduuidoptionalEvo organization identifier. This is only applicable if the customer is using the PaySuite Pay Hub to manage payments

Payload example​

{
"customerId": "customer_123",
"customerLegalName": "Example Business Ltd",
"stripePlatformAccountId": "acct_platform123",
"country": "GB",
"redirectUrl": "https://example.com/onboarding/complete",
"stripePriceGroupId": "price_group_456",
"stripeTosAcceptanceDate": "2024-01-15T09:00:00Z",
"stripeTosAcceptanceIp": "192.168.1.1",
"evoOrganizationId": "org_789"
}

Response parameters​

Status Code: 201 Created​

ParameterTypeDescription
merchantIduuidA unique identifier for the customer created by the Merchant API.
customerIdstringA unique identifier for the customer in the SoftCo product.
sessionIdstringA unique identifier to track the session.
actionobjectObject containing the action to be performed by the SoftCo product.
→ redirectUrlstring(conditional) The URL to redirect the customer to being the onboarding journey. Note: this will only be returned if there is further data to be collected from the customer and the integration is via a redirect onboarding
→ stripeConnectAccountIdstring(conditional) The Stripe Connect identifier for the customer. Note: this will only be returned if the integration is via embedded onboarding.
→ stripeClientSecretstring(conditional) The Stripe Connect identifier for the customer. Note: this will only be returned if the integration is via embedded onboarding

Payload redirect example​

{
"merchantId": "123e4567-e89b-12d3-a456-426614174000",
"customerId": "customer_123",
"sessionId": "66c0df2ec03d8a3b582e615b83274816",
"action": {
"redirectUrl": "https://creditRiskAssessmentUrl.com"
}
}

Payload embedded example​

{
"merchantId": "123e4567-e89b-12d3-a456-426614174000",
"customerId": "customer_123",
"sessionId": "66c0df2ec03d8a3b582e615b83274816",
"action": {
"stripeConnectAccountId": "acct_12345"
"stripeClientSecret": "client_secret_67890",
}
}