Skip to content

April API (3.0)

Download OpenAPI description
Languages
Servers
Sandbox
https://api.sandbox.au.meetapril.io
Production
https://api.au.meetapril.io

Authentication

These endpoints provide various methods for authenticating users from a backend service.

  • POST /auth/signin Sign-in from a backend service on behalf of a consumer customer (B2C) or customer delegate (B2B)
Operations

Customers

A person or business purchasing goods or services from a merchant using Spenda to facilitate the payment. Customers are defined at the merchant level, so if an individual makes payments with multiple merchants, they will have a customer record for each of these merchants.

Spenda supports two broad categories of customers:

Consumer customers are individuals typically making purchases from the merchant via e-commerce websites. They are uniquely identified by emailAddress for a given merchant.

Organisation customers represent businesses wishing to make purchases from the merchant. They are uniquely identified by referenceCustomerId for a given merchant.

Operations

Merchants

A business or individual that uses Spenda to facilitate payments for their customers.

Operations

Query Merchants

Request

Return a paginated list of matching merchants.

Security
Marketplace API Key | Admin JWT | Merchant JWT | Marketplace JWT
Query
limitinteger(int32)

Maximum results per page. Default to 20, must be between 1 and 500.

pageinteger(int32)

Page number of results to show (starting at page 1).

sortstring

Comma-delimited list of fields to sort by with sort priority from first to last. Fields are sorted by their natural ordering unless prefixed with a - character.

businessNamestring

Filter by business name

isActivatedboolean

Filter by whether the business is activated

payoutStatusstring(MerchantPayoutStatus)

Filter by whether payouts are enabled for this merchant

Enum"Enabled""Disabled"
marketplaceIdstring

Filter by marketplace

referenceMerchantIdArray of strings

Filter by reference merchant id

curl -i -X GET \
  'https://api.sandbox.au.meetapril.io/merchants?limit=0&page=0&sort=string&businessName=string&isActivated=true&payoutStatus=Enabled&marketplaceId=string&referenceMerchantId=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Matching items sorted as specified

Headers
Page-Countinteger(int64)required

Total count of pages available for current query.

Total-Record-Countinteger(int64)required

Total number of records matching the query.

Bodyapplication/jsonArray [
One of:
ServiceProviderMerchantobject(ServiceProviderMerchant1)required
ServiceProviderMerchant.​merchantIdstringrequired

System unique identifier for a merchant

ServiceProviderMerchant.​marketplaceIdstring

For sub-merchants, this is the system unique identifier for the marketplace they are a member of.

ServiceProviderMerchant.​businessProfileobject(BusinessProfile)required
ServiceProviderMerchant.​businessProfile.​timeZonestringrequired

Timezone for the merchant, e.g. Australia/Sydney

ServiceProviderMerchant.​businessProfile.​businessNamestringrequired

Business name (as linked to ABN/ACN)

ServiceProviderMerchant.​businessProfile.​businessTypestring(BusinessType)required
Enum"company""individual""soletrader""partnership""trust"
ServiceProviderMerchant.​businessProfile.​companyTypestring(CompanyType)

(Optional) Company type, required when businessType is company

Enum"Private""Public"
ServiceProviderMerchant.​businessProfile.​websitestringrequired

Company website

ServiceProviderMerchant.​businessProfile.​supportSitestringrequired

Company website for handling support issues

ServiceProviderMerchant.​businessProfile.​industrystring(Industry)required
Enum"AcRefrigerationRepair""AccountingBookkeepingServices""AdvertisingServices""AgriculturalCooperative""AirlinesAirCarriers""AirportsFlyingFields""AmbulanceServices""AmusementParksCarnivals""AntiqueReproductions""AntiqueShops"
ServiceProviderMerchant.​businessProfile.​taxCountrystring(Country)required

The country where the business is registered for tax purposes.

Enum"AU""HK""NZ""SG""ZA""US"
ServiceProviderMerchant.​businessProfile.​tradingCountrystring(Country)

The country where customers of the business are making payments.

Enum"AU""HK""NZ""SG""ZA""US"
ServiceProviderMerchant.​businessProfile.​taxIdstring

The registered tax id of the company, e.g. ABN, NZBN

ServiceProviderMerchant.​businessProfile.​contactPersonobject(BusinessContactPerson)required
ServiceProviderMerchant.​businessProfile.​contactPerson.​titlestringrequired
ServiceProviderMerchant.​businessProfile.​contactPerson.​givenNamestringrequired

Must be between 1 and 26 characters.

ServiceProviderMerchant.​businessProfile.​contactPerson.​familyNamestringrequired

Must be between 1 and 26 characters.

ServiceProviderMerchant.​businessProfile.​contactEmailAddressstringrequired
ServiceProviderMerchant.​businessProfile.​supportEmailAddressstring
ServiceProviderMerchant.​businessProfile.​phoneNumberstringrequired

Phone number in E164 format, eg. +61400000000

ServiceProviderMerchant.​businessProfile.​addressobject(BusinessAddress)required
ServiceProviderMerchant.​businessProfile.​address.​unitNumberstring

The address unit number

ServiceProviderMerchant.​businessProfile.​address.​streetNumberstringrequired

The address street number

ServiceProviderMerchant.​businessProfile.​address.​streetNamestringrequired

The address street name

ServiceProviderMerchant.​businessProfile.​address.​streetTypestring

The address street type, eg Street or Road – not mandatory because 12 The Esplanade

ServiceProviderMerchant.​businessProfile.​address.​suburbstring

The address suburb

ServiceProviderMerchant.​businessProfile.​address.​citystring

The address city

ServiceProviderMerchant.​businessProfile.​address.​postalCodestringrequired

The address postal code. Should be digits between 4 and 10 characters long.

ServiceProviderMerchant.​businessProfile.​address.​statestring

The address state

ServiceProviderMerchant.​businessProfile.​address.​countrystring(Country)required

The address country

Enum"AU""HK""NZ""SG""ZA""US"
ServiceProviderMerchant.​businessProfile.​brandNamestringrequired

The customer facing name of your business.

ServiceProviderMerchant.​businessProfile.​cardStatementNamestringrequired

The label that will appear on your customer's credit or debit card statements. Must be between 5 and 13 characters. Valid characters are letters, numbers or spaces.

ServiceProviderMerchant.​businessProfile.​smsSenderNamestringrequired

Sms Sender Name. Must be between 3 and 11 characters. Valid characters are letters and digits.

ServiceProviderMerchant.​businessProfile.​verificationDocsobject(BusinessVerificationDoc)required
ServiceProviderMerchant.​businessProfile.​verificationDocs.​companyFrontFileIdstring

System identifier for uploaded scan of the front of the company document

ServiceProviderMerchant.​businessProfile.​verificationDocs.​companyBackFileIdstring

System identifier for uploaded scan of the back of the company document

ServiceProviderMerchant.​businessProfile.​verificationDocs.​companyTaxIdFileIdstring

System identifier for uploaded scan of the front of the tax ID document

ServiceProviderMerchant.​businessProfile.​verificationDocs.​partnershipAgreementFileIdstring

System identifier for uploaded scan of the Partnership Agreement. Required if business type is partnership.

ServiceProviderMerchant.​businessProfile.​verificationDocs.​trustDeedFileIdstring

System identifier for uploaded scan of the Trust Deed. Required if business type is trust.

ServiceProviderMerchant.​businessProfile.​verificationDocs.​trustDeedAmendmentFileIdsArray of strings

System identifiers for uploaded scans of the Trust Deed amendments. Required if business type is trust.

ServiceProviderMerchant.​referenceMerchantIdstring

A unique string for this merchant, such as your primary key.

ServiceProviderMerchant.​readableIdentifierstringrequired

Unique URL used for dashboards. Must be 4-255 characters, lowercase, alphanumeric without any special characters such as ! @ # & ( ) – [ ] : ; ‘, ? /.

ServiceProviderMerchant.​statusstring(MerchantDashboardStatus)required
Enum"Pending""Active""Suspended"
ServiceProviderMerchant.​payoutDetailsobject

Restricted field - only included if caller has access.

ServiceProviderMerchant.​billingDetailsobject

Restricted field - only included if caller has access.

ServiceProviderMerchant.​bankAccountsArray of objects(BankAccountDetails)

List of bank accounts associated with this merchant. Payouts are paid into the primary bank account for each currency.

ServiceProviderMerchant.​bankAccountVerificationResultobject(AccountVerificationResponseDto)
ServiceProviderMerchant.​payPlanSettingsobject(PayPlanSettings)required
ServiceProviderMerchant.​payPlanSettings.​maxPayPlanAmountinteger(int64)
ServiceProviderMerchant.​payPlanSettings.​minPayPlanAmountinteger(int64)
ServiceProviderMerchant.​publicTokenstringrequired

Your public or publishable API Key is used for all outgoing communications from the frontend of your website and checkout page.

ServiceProviderMerchant.​sourceRulesArray of objects(Rule)

The rules that configure payment sources for the merchant. Rules include surcharging, platform fee (FUTURE), etc.

ServiceProviderMerchant.​metadataobject(JsonObject)

Marketplace specific additional data associated with this merchant.

ServiceProviderMerchant.​createdAtstring(date-time)required
ServiceProviderMerchant.​updatedAtstring(date-time)required
]
Response
application/json
[ { "ServiceProviderMerchant": {} } ]

Create Merchant

Request

Create a new sub-merchant within the context of a marketplace.

Security
Marketplace API Key | Admin JWT | Marketplace JWT
Headers
Marketplace-Idstring

Perform operation in the context of the given marketplace. Usually not required — specify only if acting on behalf of a marketplace not implied by the credentials specified in the Authorization header.

Bodyapplication/jsonrequired
One of:
CreateServiceProviderSubmerchantobject(CreateServiceProviderSubmerchant1)required

Request associated with the creation of a skeleton sub-merchant without full eCommerce due diligence requirements

CreateServiceProviderSubmerchant.​referenceMerchantIdstringrequired

A unique string for this merchant, such as your primary key; a create call with a non-null referenceMerchantId value that already exists for your marketplace will be rejected

CreateServiceProviderSubmerchant.​contactEmailAddressstringrequired

Used for authenticating into the Limepay merchant dashboard

CreateServiceProviderSubmerchant.​businessNamestringrequired

Business name (as linked to ABN/ACN)

CreateServiceProviderSubmerchant.​taxCountrystring= 2 charactersrequired

ISO-3166 two-letter country code for where the merchant is a tax resident.

CreateServiceProviderSubmerchant.​businessTypestring(BusinessType)required

The business type for the merchant

Enum"company""individual""soletrader""partnership""trust"
CreateServiceProviderSubmerchant.​companyTypestring(CompanyType)

The company type for the merchant

Enum"Private""Public"
CreateServiceProviderSubmerchant.​industrystring(Industry)

The industry for the merchant

Enum"AcRefrigerationRepair""AccountingBookkeepingServices""AdvertisingServices""AgriculturalCooperative""AirlinesAirCarriers""AirportsFlyingFields""AmbulanceServices""AmusementParksCarnivals""AntiqueReproductions""AntiqueShops"
CreateServiceProviderSubmerchant.​taxIdstringrequired

The tax id (e.g. ABN or NZBN) for the merchant

CreateServiceProviderSubmerchant.​contactPersonobject(BusinessContactPerson1)

The contact person for the merchant

CreateServiceProviderSubmerchant.​phoneNumberstring

Phone number associated with the merchant in E164 format, eg. +61400000000

CreateServiceProviderSubmerchant.​addressobject(BusinessAddress1)

The address for the merchant

CreateServiceProviderSubmerchant.​bankNamestring

The bank name for the merchant

CreateServiceProviderSubmerchant.​bankAccountNamestringrequired

The bank account name for the merchant

CreateServiceProviderSubmerchant.​bankAccountNumberstringrequired

The bank account number for the merchant

CreateServiceProviderSubmerchant.​bankCountrystringrequired

The bank country for the merchant

CreateServiceProviderSubmerchant.​bankCurrencystringrequired

The bank currency for the merchant

CreateServiceProviderSubmerchant.​bankRoutingNumberstringrequired

The Australian equivalent to routing number is the bank state branch, or BSB, number

CreateServiceProviderSubmerchant.​bankReferenceAccountIdstring

An optional reference provided by the merchant to identify the bank account. Must be unique for the given merchant.

CreateServiceProviderSubmerchant.​metadataobject(JsonObject)

Additional use case data specific to individual marketplaces or target industries and applications

CreateServiceProviderSubmerchant.​requesterIdstring

An optional identifier of the requester. Required to perform Bank Account Validation

curl -i -X POST \
  https://api.sandbox.au.meetapril.io/merchants \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Marketplace-Id: string' \
  -d '{
    "CreateServiceProviderSubmerchant": {
      "referenceMerchantId": "string",
      "contactEmailAddress": "lucy.diamond@star.com",
      "businessName": "string",
      "taxCountry": "AU",
      "businessType": "company",
      "companyType": "Private",
      "industry": "AcRefrigerationRepair",
      "taxId": "string",
      "contactPerson": {
        "firstName": "string",
        "lastName": "string",
        "title": "string"
      },
      "phoneNumber": "+61401234567",
      "address": {
        "unitNumber": "string",
        "streetNumber": "string",
        "streetName": "string",
        "streetType": "string",
        "suburb": "string",
        "city": "string",
        "postcode": "string",
        "postalCode": 2000,
        "state": "string",
        "country": "AU"
      },
      "bankName": "string",
      "bankAccountName": "string",
      "bankAccountNumber": "string",
      "bankCountry": "string",
      "bankCurrency": "AUD",
      "bankRoutingNumber": "string",
      "bankReferenceAccountId": "string",
      "metadata": {},
      "requesterId": "string"
    }
  }'

Responses

Bodyapplication/json
One of:
ServiceProviderMerchantobject(ServiceProviderMerchant1)required
ServiceProviderMerchant.​merchantIdstringrequired

System unique identifier for a merchant

ServiceProviderMerchant.​marketplaceIdstring

For sub-merchants, this is the system unique identifier for the marketplace they are a member of.

ServiceProviderMerchant.​businessProfileobject(BusinessProfile)required
ServiceProviderMerchant.​businessProfile.​timeZonestringrequired

Timezone for the merchant, e.g. Australia/Sydney

ServiceProviderMerchant.​businessProfile.​businessNamestringrequired

Business name (as linked to ABN/ACN)

ServiceProviderMerchant.​businessProfile.​businessTypestring(BusinessType)required
Enum"company""individual""soletrader""partnership""trust"
ServiceProviderMerchant.​businessProfile.​companyTypestring(CompanyType)

(Optional) Company type, required when businessType is company

Enum"Private""Public"
ServiceProviderMerchant.​businessProfile.​websitestringrequired

Company website

ServiceProviderMerchant.​businessProfile.​supportSitestringrequired

Company website for handling support issues

ServiceProviderMerchant.​businessProfile.​industrystring(Industry)required
Enum"AcRefrigerationRepair""AccountingBookkeepingServices""AdvertisingServices""AgriculturalCooperative""AirlinesAirCarriers""AirportsFlyingFields""AmbulanceServices""AmusementParksCarnivals""AntiqueReproductions""AntiqueShops"
ServiceProviderMerchant.​businessProfile.​taxCountrystring(Country)required

The country where the business is registered for tax purposes.

Enum"AU""HK""NZ""SG""ZA""US"
ServiceProviderMerchant.​businessProfile.​tradingCountrystring(Country)

The country where customers of the business are making payments.

Enum"AU""HK""NZ""SG""ZA""US"
ServiceProviderMerchant.​businessProfile.​taxIdstring

The registered tax id of the company, e.g. ABN, NZBN

ServiceProviderMerchant.​businessProfile.​contactPersonobject(BusinessContactPerson)required
ServiceProviderMerchant.​businessProfile.​contactPerson.​titlestringrequired
ServiceProviderMerchant.​businessProfile.​contactPerson.​givenNamestringrequired

Must be between 1 and 26 characters.

ServiceProviderMerchant.​businessProfile.​contactPerson.​familyNamestringrequired

Must be between 1 and 26 characters.

ServiceProviderMerchant.​businessProfile.​contactEmailAddressstringrequired
ServiceProviderMerchant.​businessProfile.​supportEmailAddressstring
ServiceProviderMerchant.​businessProfile.​phoneNumberstringrequired

Phone number in E164 format, eg. +61400000000

ServiceProviderMerchant.​businessProfile.​addressobject(BusinessAddress)required
ServiceProviderMerchant.​businessProfile.​address.​unitNumberstring

The address unit number

ServiceProviderMerchant.​businessProfile.​address.​streetNumberstringrequired

The address street number

ServiceProviderMerchant.​businessProfile.​address.​streetNamestringrequired

The address street name

ServiceProviderMerchant.​businessProfile.​address.​streetTypestring

The address street type, eg Street or Road – not mandatory because 12 The Esplanade

ServiceProviderMerchant.​businessProfile.​address.​suburbstring

The address suburb

ServiceProviderMerchant.​businessProfile.​address.​citystring

The address city

ServiceProviderMerchant.​businessProfile.​address.​postalCodestringrequired

The address postal code. Should be digits between 4 and 10 characters long.

ServiceProviderMerchant.​businessProfile.​address.​statestring

The address state

ServiceProviderMerchant.​businessProfile.​address.​countrystring(Country)required

The address country

Enum"AU""HK""NZ""SG""ZA""US"
ServiceProviderMerchant.​businessProfile.​brandNamestringrequired

The customer facing name of your business.

ServiceProviderMerchant.​businessProfile.​cardStatementNamestringrequired

The label that will appear on your customer's credit or debit card statements. Must be between 5 and 13 characters. Valid characters are letters, numbers or spaces.

ServiceProviderMerchant.​businessProfile.​smsSenderNamestringrequired

Sms Sender Name. Must be between 3 and 11 characters. Valid characters are letters and digits.

ServiceProviderMerchant.​businessProfile.​verificationDocsobject(BusinessVerificationDoc)required
ServiceProviderMerchant.​businessProfile.​verificationDocs.​companyFrontFileIdstring

System identifier for uploaded scan of the front of the company document

ServiceProviderMerchant.​businessProfile.​verificationDocs.​companyBackFileIdstring

System identifier for uploaded scan of the back of the company document

ServiceProviderMerchant.​businessProfile.​verificationDocs.​companyTaxIdFileIdstring

System identifier for uploaded scan of the front of the tax ID document

ServiceProviderMerchant.​businessProfile.​verificationDocs.​partnershipAgreementFileIdstring

System identifier for uploaded scan of the Partnership Agreement. Required if business type is partnership.

ServiceProviderMerchant.​businessProfile.​verificationDocs.​trustDeedFileIdstring

System identifier for uploaded scan of the Trust Deed. Required if business type is trust.

ServiceProviderMerchant.​businessProfile.​verificationDocs.​trustDeedAmendmentFileIdsArray of strings

System identifiers for uploaded scans of the Trust Deed amendments. Required if business type is trust.

ServiceProviderMerchant.​referenceMerchantIdstring

A unique string for this merchant, such as your primary key.

ServiceProviderMerchant.​readableIdentifierstringrequired

Unique URL used for dashboards. Must be 4-255 characters, lowercase, alphanumeric without any special characters such as ! @ # & ( ) – [ ] : ; ‘, ? /.

ServiceProviderMerchant.​statusstring(MerchantDashboardStatus)required
Enum"Pending""Active""Suspended"
ServiceProviderMerchant.​payoutDetailsobject

Restricted field - only included if caller has access.

ServiceProviderMerchant.​billingDetailsobject

Restricted field - only included if caller has access.

ServiceProviderMerchant.​bankAccountsArray of objects(BankAccountDetails)

List of bank accounts associated with this merchant. Payouts are paid into the primary bank account for each currency.

ServiceProviderMerchant.​bankAccountVerificationResultobject(AccountVerificationResponseDto)
ServiceProviderMerchant.​payPlanSettingsobject(PayPlanSettings)required
ServiceProviderMerchant.​payPlanSettings.​maxPayPlanAmountinteger(int64)
ServiceProviderMerchant.​payPlanSettings.​minPayPlanAmountinteger(int64)
ServiceProviderMerchant.​publicTokenstringrequired

Your public or publishable API Key is used for all outgoing communications from the frontend of your website and checkout page.

ServiceProviderMerchant.​sourceRulesArray of objects(Rule)

The rules that configure payment sources for the merchant. Rules include surcharging, platform fee (FUTURE), etc.

ServiceProviderMerchant.​metadataobject(JsonObject)

Marketplace specific additional data associated with this merchant.

ServiceProviderMerchant.​createdAtstring(date-time)required
ServiceProviderMerchant.​updatedAtstring(date-time)required
Response
application/json
{ "ServiceProviderMerchant": { "merchantId": "mcht_aZ-9UfKvllCPqGsZ", "marketplaceId": "mktp_aZ-9UfKvllCPqGsi", "businessProfile": {}, "referenceMerchantId": "string", "readableIdentifier": "string", "status": "Pending", "payoutDetails": {}, "billingDetails": {}, "bankAccounts": [], "bankAccountVerificationResult": {}, "payPlanSettings": {}, "publicToken": "string", "sourceRules": [], "metadata": {}, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" } }

Get Merchant

Request

Return details of a merchant.

Security
Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT
Path
merchantIdstringrequired
curl -i -X GET \
  'https://api.sandbox.au.meetapril.io/merchants/{merchantId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Bodyapplication/json
One of:
ServiceProviderMerchantobject(ServiceProviderMerchant1)required
ServiceProviderMerchant.​merchantIdstringrequired

System unique identifier for a merchant

ServiceProviderMerchant.​marketplaceIdstring

For sub-merchants, this is the system unique identifier for the marketplace they are a member of.

ServiceProviderMerchant.​businessProfileobject(BusinessProfile)required
ServiceProviderMerchant.​businessProfile.​timeZonestringrequired

Timezone for the merchant, e.g. Australia/Sydney

ServiceProviderMerchant.​businessProfile.​businessNamestringrequired

Business name (as linked to ABN/ACN)

ServiceProviderMerchant.​businessProfile.​businessTypestring(BusinessType)required
Enum"company""individual""soletrader""partnership""trust"
ServiceProviderMerchant.​businessProfile.​companyTypestring(CompanyType)

(Optional) Company type, required when businessType is company

Enum"Private""Public"
ServiceProviderMerchant.​businessProfile.​websitestringrequired

Company website

ServiceProviderMerchant.​businessProfile.​supportSitestringrequired

Company website for handling support issues

ServiceProviderMerchant.​businessProfile.​industrystring(Industry)required
Enum"AcRefrigerationRepair""AccountingBookkeepingServices""AdvertisingServices""AgriculturalCooperative""AirlinesAirCarriers""AirportsFlyingFields""AmbulanceServices""AmusementParksCarnivals""AntiqueReproductions""AntiqueShops"
ServiceProviderMerchant.​businessProfile.​taxCountrystring(Country)required

The country where the business is registered for tax purposes.

Enum"AU""HK""NZ""SG""ZA""US"
ServiceProviderMerchant.​businessProfile.​tradingCountrystring(Country)

The country where customers of the business are making payments.

Enum"AU""HK""NZ""SG""ZA""US"
ServiceProviderMerchant.​businessProfile.​taxIdstring

The registered tax id of the company, e.g. ABN, NZBN

ServiceProviderMerchant.​businessProfile.​contactPersonobject(BusinessContactPerson)required
ServiceProviderMerchant.​businessProfile.​contactPerson.​titlestringrequired
ServiceProviderMerchant.​businessProfile.​contactPerson.​givenNamestringrequired

Must be between 1 and 26 characters.

ServiceProviderMerchant.​businessProfile.​contactPerson.​familyNamestringrequired

Must be between 1 and 26 characters.

ServiceProviderMerchant.​businessProfile.​contactEmailAddressstringrequired
ServiceProviderMerchant.​businessProfile.​supportEmailAddressstring
ServiceProviderMerchant.​businessProfile.​phoneNumberstringrequired

Phone number in E164 format, eg. +61400000000

ServiceProviderMerchant.​businessProfile.​addressobject(BusinessAddress)required
ServiceProviderMerchant.​businessProfile.​address.​unitNumberstring

The address unit number

ServiceProviderMerchant.​businessProfile.​address.​streetNumberstringrequired

The address street number

ServiceProviderMerchant.​businessProfile.​address.​streetNamestringrequired

The address street name

ServiceProviderMerchant.​businessProfile.​address.​streetTypestring

The address street type, eg Street or Road – not mandatory because 12 The Esplanade

ServiceProviderMerchant.​businessProfile.​address.​suburbstring

The address suburb

ServiceProviderMerchant.​businessProfile.​address.​citystring

The address city

ServiceProviderMerchant.​businessProfile.​address.​postalCodestringrequired

The address postal code. Should be digits between 4 and 10 characters long.

ServiceProviderMerchant.​businessProfile.​address.​statestring

The address state

ServiceProviderMerchant.​businessProfile.​address.​countrystring(Country)required

The address country

Enum"AU""HK""NZ""SG""ZA""US"
ServiceProviderMerchant.​businessProfile.​brandNamestringrequired

The customer facing name of your business.

ServiceProviderMerchant.​businessProfile.​cardStatementNamestringrequired

The label that will appear on your customer's credit or debit card statements. Must be between 5 and 13 characters. Valid characters are letters, numbers or spaces.

ServiceProviderMerchant.​businessProfile.​smsSenderNamestringrequired

Sms Sender Name. Must be between 3 and 11 characters. Valid characters are letters and digits.

ServiceProviderMerchant.​businessProfile.​verificationDocsobject(BusinessVerificationDoc)required
ServiceProviderMerchant.​businessProfile.​verificationDocs.​companyFrontFileIdstring

System identifier for uploaded scan of the front of the company document

ServiceProviderMerchant.​businessProfile.​verificationDocs.​companyBackFileIdstring

System identifier for uploaded scan of the back of the company document

ServiceProviderMerchant.​businessProfile.​verificationDocs.​companyTaxIdFileIdstring

System identifier for uploaded scan of the front of the tax ID document

ServiceProviderMerchant.​businessProfile.​verificationDocs.​partnershipAgreementFileIdstring

System identifier for uploaded scan of the Partnership Agreement. Required if business type is partnership.

ServiceProviderMerchant.​businessProfile.​verificationDocs.​trustDeedFileIdstring

System identifier for uploaded scan of the Trust Deed. Required if business type is trust.

ServiceProviderMerchant.​businessProfile.​verificationDocs.​trustDeedAmendmentFileIdsArray of strings

System identifiers for uploaded scans of the Trust Deed amendments. Required if business type is trust.

ServiceProviderMerchant.​referenceMerchantIdstring

A unique string for this merchant, such as your primary key.

ServiceProviderMerchant.​readableIdentifierstringrequired

Unique URL used for dashboards. Must be 4-255 characters, lowercase, alphanumeric without any special characters such as ! @ # & ( ) – [ ] : ; ‘, ? /.

ServiceProviderMerchant.​statusstring(MerchantDashboardStatus)required
Enum"Pending""Active""Suspended"
ServiceProviderMerchant.​payoutDetailsobject

Restricted field - only included if caller has access.

ServiceProviderMerchant.​billingDetailsobject

Restricted field - only included if caller has access.

ServiceProviderMerchant.​bankAccountsArray of objects(BankAccountDetails)

List of bank accounts associated with this merchant. Payouts are paid into the primary bank account for each currency.

ServiceProviderMerchant.​bankAccountVerificationResultobject(AccountVerificationResponseDto)
ServiceProviderMerchant.​payPlanSettingsobject(PayPlanSettings)required
ServiceProviderMerchant.​payPlanSettings.​maxPayPlanAmountinteger(int64)
ServiceProviderMerchant.​payPlanSettings.​minPayPlanAmountinteger(int64)
ServiceProviderMerchant.​publicTokenstringrequired

Your public or publishable API Key is used for all outgoing communications from the frontend of your website and checkout page.

ServiceProviderMerchant.​sourceRulesArray of objects(Rule)

The rules that configure payment sources for the merchant. Rules include surcharging, platform fee (FUTURE), etc.

ServiceProviderMerchant.​metadataobject(JsonObject)

Marketplace specific additional data associated with this merchant.

ServiceProviderMerchant.​createdAtstring(date-time)required
ServiceProviderMerchant.​updatedAtstring(date-time)required
Response
application/json
{ "ServiceProviderMerchant": { "merchantId": "mcht_aZ-9UfKvllCPqGsZ", "marketplaceId": "mktp_aZ-9UfKvllCPqGsi", "businessProfile": {}, "referenceMerchantId": "string", "readableIdentifier": "string", "status": "Pending", "payoutDetails": {}, "billingDetails": {}, "bankAccounts": [], "bankAccountVerificationResult": {}, "payPlanSettings": {}, "publicToken": "string", "sourceRules": [], "metadata": {}, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" } }

Update Merchant

Request

Various actions for updating a merchant such as updating the bank account used for payouts.

Security
Marketplace API Key | Merchant Secret Token | Pay By Link Token | Admin JWT | Merchant JWT | Marketplace JWT
Path
merchantIdstringrequired
Bodyapplication/jsonrequired
One of:
AddMerchantBankAccountobject(AddMerchantBankAccount1)required

Add a new bank account associated with this merchant. The newly added account will automatically be set as the primary bank account where payouts are deposited into.

AddMerchantBankAccount.​accountNamestringrequired

Name of the person or business that holds the account

AddMerchantBankAccount.​bankNamestring

Name of financial institution where the account is held.

AddMerchantBankAccount.​identifierAuBankAccountIdentifier (object) or HkBankAccountIdentifier (object) or HkUsdBankAccountIdentifier (object) or NzBankAccountIdentifier (object) or SgBankAccountIdentifier (object)(BankAccountIdentifier)required
One of:

Region specific identifier for the bank account.

AddMerchantBankAccount.​identifier.​AuBankAccountIdentifierobject(AuBankAccountIdentifier1)required
AddMerchantBankAccount.​identifier.​AuBankAccountIdentifier.​bsbstringrequired

Branch code (also known as BSB), 6 digits.

AddMerchantBankAccount.​identifier.​AuBankAccountIdentifier.​accountNumberstringrequired

Account number, all digits.

AddMerchantBankAccount.​currencystringrequired

3 letter ISO code indicating the currency of the bank account.

AddMerchantBankAccount.​setAsPrimaryboolean

Make this account the primary bank account for the merchant. If not provided, the account will be set as primary.

AddMerchantBankAccount.​referenceAccountIdstring

An optional reference provided by the merchant to identify this account. Must be unique for the given merchant.

AddMerchantBankAccount.​requesterIdstring

An optional identifier of the requester. Required to perform Bank Account Validation

curl -i -X PATCH \
  'https://api.sandbox.au.meetapril.io/merchants/{merchantId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "AddMerchantBankAccount": {
      "accountName": "string",
      "bankName": "string",
      "identifier": {
        "AuBankAccountIdentifier": {
          "bsb": "string",
          "accountNumber": "string"
        }
      },
      "currency": "AUD",
      "setAsPrimary": true,
      "referenceAccountId": "string",
      "requesterId": "string"
    }
  }'

Responses

Bodyapplication/json
One of:
ServiceProviderMerchantobject(ServiceProviderMerchant1)required
ServiceProviderMerchant.​merchantIdstringrequired

System unique identifier for a merchant

ServiceProviderMerchant.​marketplaceIdstring

For sub-merchants, this is the system unique identifier for the marketplace they are a member of.

ServiceProviderMerchant.​businessProfileobject(BusinessProfile)required
ServiceProviderMerchant.​businessProfile.​timeZonestringrequired

Timezone for the merchant, e.g. Australia/Sydney

ServiceProviderMerchant.​businessProfile.​businessNamestringrequired

Business name (as linked to ABN/ACN)

ServiceProviderMerchant.​businessProfile.​businessTypestring(BusinessType)required
Enum"company""individual""soletrader""partnership""trust"
ServiceProviderMerchant.​businessProfile.​companyTypestring(CompanyType)

(Optional) Company type, required when businessType is company

Enum"Private""Public"
ServiceProviderMerchant.​businessProfile.​websitestringrequired

Company website

ServiceProviderMerchant.​businessProfile.​supportSitestringrequired

Company website for handling support issues

ServiceProviderMerchant.​businessProfile.​industrystring(Industry)required
Enum"AcRefrigerationRepair""AccountingBookkeepingServices""AdvertisingServices""AgriculturalCooperative""AirlinesAirCarriers""AirportsFlyingFields""AmbulanceServices""AmusementParksCarnivals""AntiqueReproductions""AntiqueShops"
ServiceProviderMerchant.​businessProfile.​taxCountrystring(Country)required

The country where the business is registered for tax purposes.

Enum"AU""HK""NZ""SG""ZA""US"
ServiceProviderMerchant.​businessProfile.​tradingCountrystring(Country)

The country where customers of the business are making payments.

Enum"AU""HK""NZ""SG""ZA""US"
ServiceProviderMerchant.​businessProfile.​taxIdstring

The registered tax id of the company, e.g. ABN, NZBN

ServiceProviderMerchant.​businessProfile.​contactPersonobject(BusinessContactPerson)required
ServiceProviderMerchant.​businessProfile.​contactPerson.​titlestringrequired
ServiceProviderMerchant.​businessProfile.​contactPerson.​givenNamestringrequired

Must be between 1 and 26 characters.

ServiceProviderMerchant.​businessProfile.​contactPerson.​familyNamestringrequired

Must be between 1 and 26 characters.

ServiceProviderMerchant.​businessProfile.​contactEmailAddressstringrequired
ServiceProviderMerchant.​businessProfile.​supportEmailAddressstring
ServiceProviderMerchant.​businessProfile.​phoneNumberstringrequired

Phone number in E164 format, eg. +61400000000

ServiceProviderMerchant.​businessProfile.​addressobject(BusinessAddress)required
ServiceProviderMerchant.​businessProfile.​address.​unitNumberstring

The address unit number

ServiceProviderMerchant.​businessProfile.​address.​streetNumberstringrequired

The address street number

ServiceProviderMerchant.​businessProfile.​address.​streetNamestringrequired

The address street name

ServiceProviderMerchant.​businessProfile.​address.​streetTypestring

The address street type, eg Street or Road – not mandatory because 12 The Esplanade

ServiceProviderMerchant.​businessProfile.​address.​suburbstring

The address suburb

ServiceProviderMerchant.​businessProfile.​address.​citystring

The address city

ServiceProviderMerchant.​businessProfile.​address.​postalCodestringrequired

The address postal code. Should be digits between 4 and 10 characters long.

ServiceProviderMerchant.​businessProfile.​address.​statestring

The address state

ServiceProviderMerchant.​businessProfile.​address.​countrystring(Country)required

The address country

Enum"AU""HK""NZ""SG""ZA""US"
ServiceProviderMerchant.​businessProfile.​brandNamestringrequired

The customer facing name of your business.

ServiceProviderMerchant.​businessProfile.​cardStatementNamestringrequired

The label that will appear on your customer's credit or debit card statements. Must be between 5 and 13 characters. Valid characters are letters, numbers or spaces.

ServiceProviderMerchant.​businessProfile.​smsSenderNamestringrequired

Sms Sender Name. Must be between 3 and 11 characters. Valid characters are letters and digits.

ServiceProviderMerchant.​businessProfile.​verificationDocsobject(BusinessVerificationDoc)required
ServiceProviderMerchant.​businessProfile.​verificationDocs.​companyFrontFileIdstring

System identifier for uploaded scan of the front of the company document

ServiceProviderMerchant.​businessProfile.​verificationDocs.​companyBackFileIdstring

System identifier for uploaded scan of the back of the company document

ServiceProviderMerchant.​businessProfile.​verificationDocs.​companyTaxIdFileIdstring

System identifier for uploaded scan of the front of the tax ID document

ServiceProviderMerchant.​businessProfile.​verificationDocs.​partnershipAgreementFileIdstring

System identifier for uploaded scan of the Partnership Agreement. Required if business type is partnership.

ServiceProviderMerchant.​businessProfile.​verificationDocs.​trustDeedFileIdstring

System identifier for uploaded scan of the Trust Deed. Required if business type is trust.

ServiceProviderMerchant.​businessProfile.​verificationDocs.​trustDeedAmendmentFileIdsArray of strings

System identifiers for uploaded scans of the Trust Deed amendments. Required if business type is trust.

ServiceProviderMerchant.​referenceMerchantIdstring

A unique string for this merchant, such as your primary key.

ServiceProviderMerchant.​readableIdentifierstringrequired

Unique URL used for dashboards. Must be 4-255 characters, lowercase, alphanumeric without any special characters such as ! @ # & ( ) – [ ] : ; ‘, ? /.

ServiceProviderMerchant.​statusstring(MerchantDashboardStatus)required
Enum"Pending""Active""Suspended"
ServiceProviderMerchant.​payoutDetailsobject

Restricted field - only included if caller has access.

ServiceProviderMerchant.​billingDetailsobject

Restricted field - only included if caller has access.

ServiceProviderMerchant.​bankAccountsArray of objects(BankAccountDetails)

List of bank accounts associated with this merchant. Payouts are paid into the primary bank account for each currency.

ServiceProviderMerchant.​bankAccountVerificationResultobject(AccountVerificationResponseDto)
ServiceProviderMerchant.​payPlanSettingsobject(PayPlanSettings)required
ServiceProviderMerchant.​payPlanSettings.​maxPayPlanAmountinteger(int64)
ServiceProviderMerchant.​payPlanSettings.​minPayPlanAmountinteger(int64)
ServiceProviderMerchant.​publicTokenstringrequired

Your public or publishable API Key is used for all outgoing communications from the frontend of your website and checkout page.

ServiceProviderMerchant.​sourceRulesArray of objects(Rule)

The rules that configure payment sources for the merchant. Rules include surcharging, platform fee (FUTURE), etc.

ServiceProviderMerchant.​metadataobject(JsonObject)

Marketplace specific additional data associated with this merchant.

ServiceProviderMerchant.​createdAtstring(date-time)required
ServiceProviderMerchant.​updatedAtstring(date-time)required
Response
application/json
{ "ServiceProviderMerchant": { "merchantId": "mcht_aZ-9UfKvllCPqGsZ", "marketplaceId": "mktp_aZ-9UfKvllCPqGsi", "businessProfile": {}, "referenceMerchantId": "string", "readableIdentifier": "string", "status": "Pending", "payoutDetails": {}, "billingDetails": {}, "bankAccounts": [], "bankAccountVerificationResult": {}, "payPlanSettings": {}, "publicToken": "string", "sourceRules": [], "metadata": {}, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" } }

Query Balances

Request

Query the account balances of a merchant.

Security
Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT
Path
merchantIdstringrequired
curl -i -X GET \
  'https://api.sandbox.au.meetapril.io/merchants/{merchantId}/balances' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Bodyapplication/json
currencystringrequired

The currency of the balances as a 3 letter ISO code.

availableinteger(int64)required

The funds in minor currency units available for payout.

inTransitinteger(int64)required

The funds in minor currency units deducted from the account that are on their way to the merchant's bank account.

pendinginteger(int64)required

The funds in minor currency units accumulating in the account that are not yet cleared for payout.

Response
application/json
{ "currency": "string", "available": 0, "inTransit": 0, "pending": 0 }

Upload Merchant File

Request

Upload a document scan as part of the merchant onboarding profile. The maximum permitted file size is 10MB. Supported file types are JPEG, PNG and PDF.

Security
Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT
Path
merchantIdstringrequired
Bodymultipart/form-datarequired
docTypestring(DocumentType)required
Enum"CompanyVerificationDocumentBack""CompanyVerificationDocumentFront""CompanyTaxIdVerificationDocument""PersonVerificationDocumentBack""PersonVerificationDocumentFront""PersonVerificationAdditionalDocumentBack""PersonVerificationAdditionalDocumentFront""PartnershipAgreement""TrustDeed""TrustDeedAmendment"
filestring(binary)required
curl -i -X POST \
  'https://api.sandbox.au.meetapril.io/merchants/{merchantId}/files' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: multipart/form-data' \
  -F docType=CompanyVerificationDocumentBack \
  -F file=string

Responses

Bodyapplication/json
limeFileIdstringrequired
Response
application/json
{ "limeFileId": "lfile_aZ-9UvKvllCPqGsm" }

Get Merchant File

Request

Get details on a merchant onboarding file

Security
Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT
Path
merchantIdstringrequired
fileIdstringrequired
curl -i -X GET \
  'https://api.sandbox.au.meetapril.io/merchants/{merchantId}/files/{fileId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Bodyapplication/json
fileIdstringrequired
merchantIdstringrequired
categorystring(FileCategory)required
Value"MerchantOnboarding"
docTypestring(DocumentType)required
Enum"CompanyVerificationDocumentBack""CompanyVerificationDocumentFront""CompanyTaxIdVerificationDocument""PersonVerificationDocumentBack""PersonVerificationDocumentFront""PersonVerificationAdditionalDocumentBack""PersonVerificationAdditionalDocumentFront""PartnershipAgreement""TrustDeed""TrustDeedAmendment"
fileNamestringrequired
fileTypestring(FileType)required
Enum"jpeg""png""pdf""jpg"
fileSizeInMBinteger(int64)required
fileSizeInKBinteger(int64)required
createdAtstring(date-time)required
Response
application/json
{ "fileId": "lfile_aZ-9UvKvllCPqGsm", "merchantId": "mcht_aZ-9UfKvllCPqGsZ", "category": "MerchantOnboarding", "docType": "CompanyVerificationDocumentBack", "fileName": "string", "fileType": "jpeg", "fileSizeInMB": 0, "fileSizeInKB": 0, "createdAt": "2019-08-24T14:15:22Z" }

Get Merchant Apple Pay Domains

Request

Get the domains registered for ApplePay for the specified merchant

Security
Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT
Path
merchantIdstringrequired
curl -i -X GET \
  'https://api.sandbox.au.meetapril.io/merchants/{merchantId}/applepay' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Bodyapplication/json
detailsobject(MerchantApplepayDetails)

Details of the merchant-specific settings for which Apple Pay will process payments for this merchant.

Response
application/json
{ "details": { "domainNames": [], "encryptTo": "string", "merchantUrl": "string", "partnerInternalMerchantIdentifier": "string", "partnerMerchantName": "string" } }

List Beneficial Owners

Request

Return details of all beneficial owners for the given merchant.

Security
Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT
Path
merchantIdstringrequired
curl -i -X GET \
  'https://api.sandbox.au.meetapril.io/merchants/{merchantId}/owners' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Bodyapplication/jsonArray [
ownerIdstringrequired
profileobject(BeneficialOwnerProfile)required
profile.​titlestringrequired

Title, in relation to the business

profile.​rolesArray of strings(Role)non-emptyrequired

Roles of the beneficial owner.

Items Enum"Executive""Owner""Director"
profile.​givenNamestringrequired
profile.​middleNamestring
profile.​familyNamestringrequired
profile.​dateOfBirthstring(date)required

Date of birth in ISO-8601

profile.​addressobject(BusinessAddress)required
profile.​address.​unitNumberstring

The address unit number

profile.​address.​streetNumberstringrequired

The address street number

profile.​address.​streetNamestringrequired

The address street name

profile.​address.​streetTypestring

The address street type, eg Street or Road – not mandatory because 12 The Esplanade

profile.​address.​suburbstring

The address suburb

profile.​address.​citystring

The address city

profile.​address.​postalCodestringrequired

The address postal code. Should be digits between 4 and 10 characters long.

profile.​address.​statestring

The address state

profile.​address.​countrystring(Country)required

The address country

Enum"AU""HK""NZ""SG""ZA""US"
profile.​emailAddressstringrequired
profile.​phoneNumberstringrequired

Phone number in E164 format, eg.+61400000000

profile.​passportobject(Passport)
profile.​driverLicenceobject(DriverLicence)
profile.​verificationDocsobject(VerificationDocs)
verificationResultobject(VerificationResult)required
verificationResult.​statusstring(VerificationStatus)required
Enum"Pending""Verified"
verificationResult.​errorCodesArray of strings(OnboardingErrorCode)
Items Enum"InvalidAddress""DocumentAddressMismatch""DocumentAddressMissing""DocumentCountryNotSupported""DocumentDobMismatch""DocumentDuplicateType""DocumentExpired""DocumentFailedCopy""DocumentFailedGreyscale""DocumentFailedOther"
verificationResult.​detailsArray of strings
isDeletablebooleanrequired
]
Response
application/json
[ { "ownerId": "pson_aZ-9U_KvllCPqGss", "profile": {}, "verificationResult": {}, "isDeletable": true } ]

Create Beneficial Owner

Request

Create a beneficial owner for the given merchant.

Security
Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT
Path
merchantIdstringrequired
Bodyapplication/jsonrequired
titlestringrequired

Title, in relation to the business

rolesArray of strings(Role)non-emptyrequired

Roles of the beneficial owner.

Items Enum"Executive""Owner""Director"
givenNamestringrequired
middleNamestring
familyNamestringrequired
dateOfBirthstring(date)required

Date of birth in ISO-8601

addressobject(BusinessAddress)required
address.​unitNumberstring

The address unit number

address.​streetNumberstringrequired

The address street number

address.​streetNamestringrequired

The address street name

address.​streetTypestring

The address street type, eg Street or Road – not mandatory because 12 The Esplanade

address.​suburbstring

The address suburb

address.​citystring

The address city

address.​postalCodestringrequired

The address postal code. Should be digits between 4 and 10 characters long.

address.​statestring

The address state

address.​countrystring(Country)required

The address country

Enum"AU""HK""NZ""SG""ZA""US"
emailAddressstringrequired
phoneNumberstringrequired

Phone number in E164 format, eg.+61400000000

passportobject(Passport)
driverLicenceobject(DriverLicence)
verificationDocsobject(VerificationDocs)
curl -i -X POST \
  'https://api.sandbox.au.meetapril.io/merchants/{merchantId}/owners' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "string",
    "roles": [
      "Executive"
    ],
    "givenName": "string",
    "middleName": "string",
    "familyName": "string",
    "dateOfBirth": "1970-08-18",
    "address": {
      "unitNumber": "string",
      "streetNumber": "string",
      "streetName": "string",
      "streetType": "string",
      "suburb": "string",
      "city": "string",
      "postalCode": 2000,
      "state": "string",
      "country": "AU"
    },
    "emailAddress": "lucy.diamond@star.com",
    "phoneNumber": "+61401234567",
    "passport": {
      "country": "AU",
      "passportNumber": "string",
      "expiryDate": "2019-08-24"
    },
    "driverLicence": {
      "driverLicenceNumber": "string",
      "documentNumber": "string",
      "versionNumber": "string",
      "state": "string",
      "country": "AU"
    },
    "verificationDocs": {
      "idType": "Passport",
      "docFrontFileId": "lfile_aZ-9UvKvllCPqGsm",
      "docBackFileId": "lfile_aZ-9UvKvllCPqGsm"
    }
  }'

Responses

Bodyapplication/json
ownerIdstringrequired
profileobject(BeneficialOwnerProfile)required
profile.​titlestringrequired

Title, in relation to the business

profile.​rolesArray of strings(Role)non-emptyrequired

Roles of the beneficial owner.

Items Enum"Executive""Owner""Director"
profile.​givenNamestringrequired
profile.​middleNamestring
profile.​familyNamestringrequired
profile.​dateOfBirthstring(date)required

Date of birth in ISO-8601

profile.​addressobject(BusinessAddress)required
profile.​address.​unitNumberstring

The address unit number

profile.​address.​streetNumberstringrequired

The address street number

profile.​address.​streetNamestringrequired

The address street name

profile.​address.​streetTypestring

The address street type, eg Street or Road – not mandatory because 12 The Esplanade

profile.​address.​suburbstring

The address suburb

profile.​address.​citystring

The address city

profile.​address.​postalCodestringrequired

The address postal code. Should be digits between 4 and 10 characters long.

profile.​address.​statestring

The address state

profile.​address.​countrystring(Country)required

The address country

Enum"AU""HK""NZ""SG""ZA""US"
profile.​emailAddressstringrequired
profile.​phoneNumberstringrequired

Phone number in E164 format, eg.+61400000000

profile.​passportobject(Passport)
profile.​driverLicenceobject(DriverLicence)
profile.​verificationDocsobject(VerificationDocs)
verificationResultobject(VerificationResult)required
verificationResult.​statusstring(VerificationStatus)required
Enum"Pending""Verified"
verificationResult.​errorCodesArray of strings(OnboardingErrorCode)
Items Enum"InvalidAddress""DocumentAddressMismatch""DocumentAddressMissing""DocumentCountryNotSupported""DocumentDobMismatch""DocumentDuplicateType""DocumentExpired""DocumentFailedCopy""DocumentFailedGreyscale""DocumentFailedOther"
verificationResult.​detailsArray of strings
isDeletablebooleanrequired
Response
application/json
{ "ownerId": "pson_aZ-9U_KvllCPqGss", "profile": { "title": "string", "roles": [], "givenName": "string", "middleName": "string", "familyName": "string", "dateOfBirth": "1970-08-18", "address": {}, "emailAddress": "lucy.diamond@star.com", "phoneNumber": "+61401234567", "passport": {}, "driverLicence": {}, "verificationDocs": {} }, "verificationResult": { "status": "Pending", "errorCodes": [], "details": [] }, "isDeletable": true }

Get Beneficial Owner

Request

Return details of a beneficial owner.

Security
Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT
Path
merchantIdstringrequired
ownerIdstringrequired

Identifier of beneficial owner

curl -i -X GET \
  'https://api.sandbox.au.meetapril.io/merchants/{merchantId}/owners/{ownerId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Bodyapplication/json
ownerIdstringrequired
profileobject(BeneficialOwnerProfile)required
profile.​titlestringrequired

Title, in relation to the business

profile.​rolesArray of strings(Role)non-emptyrequired

Roles of the beneficial owner.

Items Enum"Executive""Owner""Director"
profile.​givenNamestringrequired
profile.​middleNamestring
profile.​familyNamestringrequired
profile.​dateOfBirthstring(date)required

Date of birth in ISO-8601

profile.​addressobject(BusinessAddress)required
profile.​address.​unitNumberstring

The address unit number

profile.​address.​streetNumberstringrequired

The address street number

profile.​address.​streetNamestringrequired

The address street name

profile.​address.​streetTypestring

The address street type, eg Street or Road – not mandatory because 12 The Esplanade

profile.​address.​suburbstring

The address suburb

profile.​address.​citystring

The address city

profile.​address.​postalCodestringrequired

The address postal code. Should be digits between 4 and 10 characters long.

profile.​address.​statestring

The address state

profile.​address.​countrystring(Country)required

The address country

Enum"AU""HK""NZ""SG""ZA""US"
profile.​emailAddressstringrequired
profile.​phoneNumberstringrequired

Phone number in E164 format, eg.+61400000000

profile.​passportobject(Passport)
profile.​driverLicenceobject(DriverLicence)
profile.​verificationDocsobject(VerificationDocs)
verificationResultobject(VerificationResult)required
verificationResult.​statusstring(VerificationStatus)required
Enum"Pending""Verified"
verificationResult.​errorCodesArray of strings(OnboardingErrorCode)
Items Enum"InvalidAddress""DocumentAddressMismatch""DocumentAddressMissing""DocumentCountryNotSupported""DocumentDobMismatch""DocumentDuplicateType""DocumentExpired""DocumentFailedCopy""DocumentFailedGreyscale""DocumentFailedOther"
verificationResult.​detailsArray of strings
isDeletablebooleanrequired
Response
application/json
{ "ownerId": "pson_aZ-9U_KvllCPqGss", "profile": { "title": "string", "roles": [], "givenName": "string", "middleName": "string", "familyName": "string", "dateOfBirth": "1970-08-18", "address": {}, "emailAddress": "lucy.diamond@star.com", "phoneNumber": "+61401234567", "passport": {}, "driverLicence": {}, "verificationDocs": {} }, "verificationResult": { "status": "Pending", "errorCodes": [], "details": [] }, "isDeletable": true }

Replace Beneficial Owner

Request

Overwrite an existing beneficial owner.

Security
Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT
Path
merchantIdstringrequired
ownerIdstringrequired

Identifier of beneficial owner

Bodyapplication/jsonrequired
titlestringrequired

Title, in relation to the business

rolesArray of strings(Role)non-emptyrequired

Roles of the beneficial owner.

Items Enum"Executive""Owner""Director"
givenNamestringrequired
middleNamestring
familyNamestringrequired
dateOfBirthstring(date)required

Date of birth in ISO-8601

addressobject(BusinessAddress)required
address.​unitNumberstring

The address unit number

address.​streetNumberstringrequired

The address street number

address.​streetNamestringrequired

The address street name

address.​streetTypestring

The address street type, eg Street or Road – not mandatory because 12 The Esplanade

address.​suburbstring

The address suburb

address.​citystring

The address city

address.​postalCodestringrequired

The address postal code. Should be digits between 4 and 10 characters long.

address.​statestring

The address state

address.​countrystring(Country)required

The address country

Enum"AU""HK""NZ""SG""ZA""US"
emailAddressstringrequired
phoneNumberstringrequired

Phone number in E164 format, eg.+61400000000

passportobject(Passport)
driverLicenceobject(DriverLicence)
verificationDocsobject(VerificationDocs)
curl -i -X PUT \
  'https://api.sandbox.au.meetapril.io/merchants/{merchantId}/owners/{ownerId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "string",
    "roles": [
      "Executive"
    ],
    "givenName": "string",
    "middleName": "string",
    "familyName": "string",
    "dateOfBirth": "1970-08-18",
    "address": {
      "unitNumber": "string",
      "streetNumber": "string",
      "streetName": "string",
      "streetType": "string",
      "suburb": "string",
      "city": "string",
      "postalCode": 2000,
      "state": "string",
      "country": "AU"
    },
    "emailAddress": "lucy.diamond@star.com",
    "phoneNumber": "+61401234567",
    "passport": {
      "country": "AU",
      "passportNumber": "string",
      "expiryDate": "2019-08-24"
    },
    "driverLicence": {
      "driverLicenceNumber": "string",
      "documentNumber": "string",
      "versionNumber": "string",
      "state": "string",
      "country": "AU"
    },
    "verificationDocs": {
      "idType": "Passport",
      "docFrontFileId": "lfile_aZ-9UvKvllCPqGsm",
      "docBackFileId": "lfile_aZ-9UvKvllCPqGsm"
    }
  }'

Responses

Bodyapplication/json
ownerIdstringrequired
profileobject(BeneficialOwnerProfile)required
profile.​titlestringrequired

Title, in relation to the business

profile.​rolesArray of strings(Role)non-emptyrequired

Roles of the beneficial owner.

Items Enum"Executive""Owner""Director"
profile.​givenNamestringrequired
profile.​middleNamestring
profile.​familyNamestringrequired
profile.​dateOfBirthstring(date)required

Date of birth in ISO-8601

profile.​addressobject(BusinessAddress)required
profile.​address.​unitNumberstring

The address unit number

profile.​address.​streetNumberstringrequired

The address street number

profile.​address.​streetNamestringrequired

The address street name

profile.​address.​streetTypestring

The address street type, eg Street or Road – not mandatory because 12 The Esplanade

profile.​address.​suburbstring

The address suburb

profile.​address.​citystring

The address city

profile.​address.​postalCodestringrequired

The address postal code. Should be digits between 4 and 10 characters long.

profile.​address.​statestring

The address state

profile.​address.​countrystring(Country)required

The address country

Enum"AU""HK""NZ""SG""ZA""US"
profile.​emailAddressstringrequired
profile.​phoneNumberstringrequired

Phone number in E164 format, eg.+61400000000

profile.​passportobject(Passport)
profile.​driverLicenceobject(DriverLicence)
profile.​verificationDocsobject(VerificationDocs)
verificationResultobject(VerificationResult)required
verificationResult.​statusstring(VerificationStatus)required
Enum"Pending""Verified"
verificationResult.​errorCodesArray of strings(OnboardingErrorCode)
Items Enum"InvalidAddress""DocumentAddressMismatch""DocumentAddressMissing""DocumentCountryNotSupported""DocumentDobMismatch""DocumentDuplicateType""DocumentExpired""DocumentFailedCopy""DocumentFailedGreyscale""DocumentFailedOther"
verificationResult.​detailsArray of strings
isDeletablebooleanrequired
Response
application/json
{ "ownerId": "pson_aZ-9U_KvllCPqGss", "profile": { "title": "string", "roles": [], "givenName": "string", "middleName": "string", "familyName": "string", "dateOfBirth": "1970-08-18", "address": {}, "emailAddress": "lucy.diamond@star.com", "phoneNumber": "+61401234567", "passport": {}, "driverLicence": {}, "verificationDocs": {} }, "verificationResult": { "status": "Pending", "errorCodes": [], "details": [] }, "isDeletable": true }

Delete Beneficial Owner

Request

Delete a beneficial owner.

Security
Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT
Path
merchantIdstringrequired
ownerIdstringrequired

Identifier of beneficial owner

curl -i -X DELETE \
  'https://api.sandbox.au.meetapril.io/merchants/{merchantId}/owners/{ownerId}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Response
No content

Get Industries

Request

List all industries we currently support. Merchants in April need to be assigned an industry during onboarding.

Security
Marketplace API Key | Merchant Secret Token | Admin JWT | Merchant JWT | Marketplace JWT | Customer JWT
curl -i -X GET \
  https://api.sandbox.au.meetapril.io/merchants/industries \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Bodyapplication/jsonArray [
namestringrequired

Unique name, eg. AcRefrigerationRepair

descriptionstringrequired

Description, eg. A/C, Refrigeration Repair

mccstringrequired

Merchant Category Code, a four-digit number listed in ISO 18245 for retail financial services

]
Response
application/json
[ { "name": "string", "description": "string", "mcc": "string" } ]

Payment sources

A payment source represents a reusable source of funds to use for payments.

Operations

Payment tokens

A payment token represents a single use reference to a source of funds that can be used to pay for an order.

Operations

Pay plans

A pay plan represents a payment where the Spenda platform has extended a loan to make a purchase that the customer pays back over one or more instalments.

  • POST /payplans/offer Create a pay plan offer for a registered and KYC'd merchant customer
  • GET /payplans Return a paginated list of matching pay plans
  • POST /payplans Create a pay plan and payment token from a successful pay plan offer
  • GET /payplans/{payPlanId} Return details of a pay plan
  • POST /payplans/max Return the maximum loan amount the given customer is currently eligible for
  • POST /payplans/parameters Calculate the pay plan parameters for the given amount and list of variants
Operations

Orders

An order captures the details of the goods or services that the customer is purchasing from the merchant.

Operations

Simulation

Sandbox only endpoints for simulating external events such as a bank transfer.

  • POST /simulation Sandbox only endpoint to simulate external events such as a bank transfer being performed
Operations

Transactions

A transaction is a payment from the perspective of a merchant. The transaction shows how much the merchant will be paid, if they have been paid already and whether there have been any refunds.

Operations

Marketplaces

A B2B2C setup where an entity with business customers (sub-merchants) uses Spenda to facilitate payments for their customers' customers.

Operations

Webhooks

Webhooks are a mechanism where merchants and marketplaces can register an endpoints against one or more events. When these events occur, a POST HTTP request is made to the registered endpoint with the event details.

  • GET /webhooks Return a paginated list of matching webhook subscriptions
  • POST /webhooks Create a new webhook subscription
  • GET /webhooks/{id} Return details of a webhook subscription
  • PATCH /webhooks/{id} Update an existing webhook subscription
Operations

Loans

Loans are payment products where credit is extended by a loan facility to a borrower. The borrower can be either an individual or a business depending on the loan product in question.

Operations

Card issuer

Endpoints related to the issuing of digital cards, typically associated with a trade account based loan.

Operations

PayTo

Operations