NAV Navbar
Acquiring - Sandbox

Introduction

This documentation describes the acquiring REST API and resources provided by RS2. The API is designed in accordance with the JSON:API Specification. Various resources are presented which can be used to cover a variety of use cases.

How to use this document

This document is made up into the following two main sections:

  1. The first part from the left side bar contains generic information on the JSON:API specification on which this API is based on, the API Schema documentation describing each resource and endpoint in detail and the Errors section. These sections are generic and can be used as a technical reference during API integration in order to find information about attributes, their data types, supported resource relationships and other technical specifications.
  2. The second part describes in detail various use cases and indicate the flow and sequence of requests required to fulfil a particular task. Request and response examples are provided in each use case.

Version

This documentation represents version 1.160.16813+1.f8f1eae5 (rel-160) of the RS2 Acquiring - Sandbox API generated on Thu 04 Apr 2024 12:33:04 UTC

JSON:API

The Acquiring - Sandbox API is mostly based on the JSON:API v1.0 specification. All JSON:API resources are marked as such in the API Schema documentation by having their type set to JSON:API Resource while non-JSON:API JSON objects are marked as JSON Object. JSON:API resources benefit from all the functionality as per the specification such as inclusion of related resources in response body, specifying in requests which fields to return in order to minimize message data, sorting, pagination and filtering. For a full and detailed list of JSON:API functionality, please refer to the official JSON:API documentation @ https://jsonapi.org/format.

API Schema

The below is a list of endpoints and resources used by the API.

Resource Relationship Diagram

/oauth2/token

Format: JSON Object

Object used to return both access and refresh tokens.

Permitted HTTP request method:

POST :

ACCESS TOKEN:

To request an access token, provide the key-value pair for Authorization, Content-type, and grant type under the Header and Body sections.

Header

  • Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ= (base64 encoded value of ‘username:password’)

  • Content Type: application/x-www-form-urlencoded

Body

  • grant_type: client_credentials

REFRESH TOKEN:

To refresh an access token, provide the base64 encoded value of ‘username:’ in the Authorization header along with the grant_type set to ‘refresh_token’ and the value of the refresh_token in the body.

Header:

  • Authorization: Basic dXNlcm5hbWU6 (base64 encoded value of ‘username:’)

  • Content Type: application/x-www-form-urlencoded

Body

  • grant_type: refresh_token

  • refresh_token: refresh token value

Name Description
access_token
string

The unique access token value. This value must be provided in the Authorization HTTP header for all API calls.

refresh_token
string

The value of the refresh token that is used to obtain a new access token after it has expired.

expires_in
string

The number of seconds remaining till the access token expires

grant_type
string

The OAuth2 grant type. The value should always be either ‘client_credentials’ or ‘refresh_token’ and is present only in request body.

/oauth2/logout

Format: JSON Object

WSM logout endpoint used to clean up any security credentials.

Permitted HTTP request method:

POST :

Revokes an access token associated with the request. The response only includes an HTTP status.

Name Description
no-content

/api/user-management/userpassword

Format: JSON Object

User password management endpoint.

Permitted HTTP request method:

PUT :

Updates a user’s password, providing the new password in the request body.

IMPORTANT NOTE: Password is required to be changed after the first or initial access token request. Otherwise the following API requests will have an error. Purpose of this is to officially activate the user.

Name Description
newPassword
string

The new password for the user represented in the access token request from Authorization header. The new password must meet the following requirements for security:

  • MUST contain at least seven characters
  • MUST contain at least one uppercase letter
  • MUST contain at least one lowercase letter
  • MUST contain at least one number
  • MUST contain at least one special character
  • MUST NOT contain two consecutive identical characters
  • MUST NOT contain username
  • MUST NOT have been used in the previous 5 changes

/accountBalanceTransfers

Format: JSON:API Resource

Resource representing account balance transfer instructions. Balance transfer instructions require a source and destination accounts of to be known. These accounts can be passed using the available relationships and need to be based on the same currency. Approved (status 008) instructions will be executed once they are picked up for processing.

Permitted JSON:API resource operations:

GET /accountBalanceTransfers :

Get a list of all balance transfer instructions.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /accountBalanceTransfers :

Create a new balance transfer instruction.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /accountBalanceTransfers/{id} :

Modify an instruction identified by the resource ID. Status 002 (Completed) instructions cannot be modified.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /accountBalanceTransfers/{id} :

Delete an instruction identified by the resource ID. Status 002 (Completed) instructions cannot be deleted.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
transactionSlip
string (11)

System generated 11-digit unique transaction transfer instruction identifier.

transferType
string (3)

Defines the type of transfer being effected.

Examples may include: 403 (Redemption Cash), 404 (Redemption Air Miles), 416 (Redemption Qualifying Miles), 950 (Misc. DR transaction), 951 (Misc. CR transaction).

Refer to BankWorks (API) Data Mapping documentation for possible values.

transferAmount
object

The amount being transferred in the currency of the source account.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

status
string (3)

Indicates the current processing status of the balance transfer instruction. Defaulted to 008 - Approved if not provided.

Refer to BankWorks (API) Data Mapping documentation for possible values.

transactionNarrative
string (100)

A free-text transaction description, up to 100 characters. If not provided, this will be defaulted to the transfer type narrative.

recordDate
date

Indicates the transfer instruction creation date based on the posting date at time of creation.

Relationships
{id}/sourceAccount
of type /accounts

Relationship to the source transfer account.

{id}/destinationAccount
of type /accounts

Relationship to the destination transfer account.

/accountDefinitions

Format: JSON:API Resource

Resource holding all available BankWORKS account types. Account definitions are bound to a service contract. The service contract assigned to a merchant determines the possible accounts that particular client can be assigned. Each account type is tied to a category which serves as an instruction for processing to drive specific rules.

Permitted JSON:API resource operation:

GET /accountDefinitions :

Retrieve all accountDefinitions available.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
accountTypeId
string (3)

The type of account.

Example:

  • 001 : Payment Account Retail (where merchant presentments, payments, and other related transactions are posted to)

  • 002 : Fee Account (account where fees are posted to)

  • 003 : Chargeback account (where disputes are posted to)

Refer to API Data Mapping documentation for account definitions available for the institution.

accountCurrency
string (3)

Currency in SWIFT format of the account definition.

Example:

  • EUR

  • USD

  • GBP

In cases where value consists of 3 digits:

  • 998 means not applicable
  • 999 means applicable to all currencies

Refer to API Data Mapping documentation for account definitions available for the institution.

accountCategory
string (3)

Account categorisation for information purposes.

Refer to BankWorks (API) Data Mapping documentation for possible values.

serviceContractId
string (3)

The service contract ID under which the account definition is packaged. Refer to BankWorks (API) Data Mapping documentation for possible values.

createOnDemand
string (3)

The condition by which the account is created by the system in cases where the account is not yet available.

Refer to BankWorks (API) Data Mapping documentation for possible values.

statementGeneration
string (3)

Defines the conditions when a statement should be generated for the account definition.

Refer to BankWorks (API) Data Mapping documentation for possible values.

statementType
string (3)

The type of statement generated for the account definition.

Refer to BankWorks (API) Data Mapping documentation for possible values.

billingCycle
string (3)

Denotes to which billing cycle the account definition is assigned.

Refer to BankWorks (API) Data Mapping documentation for possible values.

billingCycleMode
string (3)

Denotes the default billing cycle applicable to accounts based on this account definition. Refer to BankWorks (API) Data Mapping documentation for possible values.

currentCycleStart
date-only

Assigned cycle start date for this definition.

currentCycleEnd
date-only

Assigned cycle end date for this definition.

cycleAccountTypeId
string (3)

Account type ID of the cycle.

Refer to BankWorks (API) Data Mapping documentation for possible values.

cycleAccountCurrency
string (3)

Account currency of the cycle in SWIFT format.

Refer to API Data Mapping documentation for account definitions available for the institution.

balanceResetMode
string (3)

Used in Individual Billing Cycles to determine at what level account balances are to be reset during end of Individual Close Cycle.

Refer to BankWorks (API) Data Mapping documentation for possible values.

generatePaymentHistory
string (3)

Defines whether payment history records are generated for the particular account type.

Refer to BankWorks (API) Data Mapping documentation for possible values.

generateValueBalance
string (3)

Defines whether value balance records are generated for the particular account type.

Refer to BankWorks (API) Data Mapping documentation for possible values.

shadowAccountFlag
string (3)

Binary value (Yes - 001 or No 000). Set to Yes in the case of shadow account types (accounts updated daily with retail balances).

Refer to BankWorks (API) Data Mapping documentation for possible values.

paymentMethod
string (3)

Defines the sequence of sub-balances being replenished by payments.

Refer to BankWorks (API) Data Mapping documentation for possible values.

interestMethod
string (3)

Defines the interest generation method for the account.

Refer to BankWorks (API) Data Mapping documentation for possible values.

postInterestToSource
string (3)

Defines whether capitalized interest is posted to the same account or another.

Refer to BankWorks (API) Data Mapping documentation for possible values.

prepaymentId
string (6)
creditInterestReplenishmentOrder
string (3)

Defines the sequence of sub-balances being replenished by credit interest.

Refer to BankWorks (API) Data Mapping documentation for possible values.

paymentReplenishmentOrder
string (3)

Defines the sequence of sub-balances being replenished by payments.

Refer to BankWorks (API) Data Mapping documentation for possible values.

refundReplenishmentOrder
string (3)

Defines the sequence of sub-balances being replenished by refunds.

Refer to BankWorks (API) Data Mapping documentation for possible values.

bonusReplenishmentOrder
string (3)

Defines the sequence of sub-balances being replenished by bonus transactions.

Refer to BankWorks (API) Data Mapping documentation for possible values.

recordDate
date

The date in ISO 8601 format for when the account definition record was created.

Relationships
{id}/billingCycleDefinition

Returns the BankWORKS billing cycle definition linked to this resource.

/accountFeeDefinitions

Format: JSON:API Resource

Resource holding all account fee rules.  Account fees can be contract based or individual account fees.  Contract based fees are account fee setup rules linked to a service contract.  Merchant based fees are merchant specific account fees that override a particular contract based fee.  Account fees are grouped by service contract and tariff.  Account fees rules use an effectiveDate to indicate when the rule comes into effect.

Permitted JSON:API resource operation:

GET /accountFeeDefinitions :

Retrieve a list of all merchant account fee rules.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
accountTypeId
string (3)

Defines the type of account on which the fees are applied.

Refer to BankWorks (API) Data Mapping documentation for possible values.

accountCurrency
string (3)

Currency in SWIFT format of the account on which the account fees are applied. In cases where value consists of 3 digits:

  • 998 means not applicable
  • 999 means applicable to all currencies

Refer to BankWorks (API) Data Mapping documentation for possible values.

chargeType
string (3)

The type of fee such as a commission.

Refer to BankWorks (API) Data Mapping documentation for possible values.

isContractFee
boolean

Boolean value indicating if the fee is a contract fee, i.e institution default setup or not, i.e a client specific override.

serviceContractId
string (3)

The service contract to which the account fee applies.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientFeeId
string (6)

The transaction type of the generated fee, eg Card Subscription Fee, Account Maintenance Fee.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientTariff
string (3)

Tariff package for the account fee.

Refer to BankWorks (API) Data Mapping documentation for possible values.

effectiveDate
date

The date in ISO 8601 format when the account fee definition becomes effective.

expiryDate
date

The date in ISO 8601 format when the account fee definition can no longer be used.

feeBase
object

The standard amount generated for the account fee. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMinimum
object

Indicates the minimum value that can be charged for the account if the feeBase and feePercent values are LOWER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMaximum
object

Indicates the maximum value that can be charged for the account if the feeBase and feePercent values are GREATER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feePercent
number

The percentage value used to generate the fee for account fee trigger setup. Maximum allowed length (including decimal point) is 11.

feeMode
string (3)

Suppress or generate the fee.

Refer to BankWorks (API) Data Mapping documentation for possible values.

feeTransactionType
string (3)

The transaction type of the generated fee.

Refer to BankWorks (API) Data Mapping documentation for possible values.

fixedPeriod
number

Number of days due after the periodReference.

maximum: 999

triggerOperator
string (3)

Sign operator related to trigger source and trigger value.

Refer to BankWorks (API) Data Mapping documentation for possible values.

triggerPeriod
string (3)

Defines when and how often the fee process is run, eg Daily, End of Cycle etc.

Refer to BankWorks (API) Data Mapping documentation for possible values.

triggerRuleId
string (3)

Defines a set of rules related to the generic fee.

Refer to BankWorks (API) Data Mapping documentation for possible values.

triggerSource
string (3)

Defines the value or event that triggers the fee process, eg new account.

Refer to BankWorks (API) Data Mapping documentation for possible values.

triggerValueLow
object

Used by trigger sources requiring values, for Overdue amount > 500. Note that all trigger amount currencies MUST match. Maximum allowed length (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

triggerValueHigh
object

Used by trigger sources requiring maximum values, for example tiered fees. Note that all trigger amount currencies MUST match. Maximum allowed length (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

periodReference
string (3)

Used to determine the value date of the fee, eg Posting Date.

Refer to BankWorks (API) Data Mapping documentation for possible values.

referenceOperator
string (3)

Sign operator related to fixedPeriod following the periodReference.

Refer to BankWorks (API) Data Mapping documentation for possible values.

objectLevel
string (3)

Defined for which level the application fee is being generated, eg Level, Group Level, First Service etc.

Refer to BankWorks (API) Data Mapping documentation for possible values.

tierLevel
string (3)

Enables the setting up of the same fee but with a different trigger value high and low.

Refer to BankWorks (API) Data Mapping documentation for possible values.

postFeeToSource
string (3)

Defines where the fee is posted to the account to which it is applied, select Yes or No. If value set to No, posting instructions are used to look up the real amount.

Refer to BankWorks (API) Data Mapping documentation for possible values.

/accounts

Format: JSON:API Resource

Represents BankWORKS client sub-accounts used for processing. Each individual account is based on an account definition rule which acts as a blueprint for the account and linked to a client contract

Permitted JSON:API resource operations:

GET /accounts :

Get a list of client accounts.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /accounts :

Create or assign a BankWORKS account to the client. During account creation, either a merchant or broker resource will be linked via relationships object, cannot be both.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /accounts/{id} :

Amend an existing BankWORKS account assigned to the client.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /accounts/{id} :

Delete existing BankWORKS account of a client. Deletion of account is not possible once client is already onboarded.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
accountNumber
string (11)

BankWORKS 11-digit internal account number. Unique per institution.

clientAccountName
string (35)

Field representing the merchant account alias.

accountCurrency
string (3)

The swift code value of the account currency. In cases where value consists of 3 digits:

  • 998 means not applicable
  • 999 means applicable to all currencies
status
string (3)

The current status of the account such as one of the following:

  • 001 Active
  • 002 Closed
  • 003 Suspended.

Refer to BankWorks (API) Data Mapping documentation for possible values.

accountNumberRbs
string (28)

External account number reference.

billingCycle
string (3)

Description of the billing cycle applicable for this account.

Refer to BankWorks (API) Data Mapping documentation for possible values.

billingLevel
string (3)

Field indicating if the merchant account holds settlement responsibilities for the related sub-hierarchy.

  • 001 Billing level
  • 000 Not billing level

Refer to BankWorks (API) Data Mapping documentation for possible values.

statementGeneration
string (3)

Indicates the statement generation rule applicable for this account.

Refer to BankWorks (API) Data Mapping documentation for possible values.

statementType
string (3)

Indicates the type of statement applicable for this account.

Refer to BankWorks (API) Data Mapping documentation for possible values.

lastAccrualDateCredit
date-only

Last credit interest accrual date in ISO 8601 format.

lastAccrualDateDebit
date-only

Last debit interest accrual date in ISO 8601 format.

lastFeeDate
date-only

Last account fee generation date in ISO 8601 format.

lastStatementDate
date-only

Last statement generation date in ISO 8601 format.

activeDate
date-only

This field is populated during posting and indicates the date the first transaction was posted to the account. It is initialized to null by application processing.

Relationships
{id}/accountDefinition

Account definition or properties used as reference for what types of account/s are assigned to the client. Appropriate service contract should be taken into consideration for this related resource as a client can have accounts under multiple contracts.

{id}/merchant
of type /merchants

Merchant client who owns the account. An account can only belong to one client.

{id}/broker
of type /brokers

Broker client who owns the account. An account can only belong to one client.

{id}/settlementPackage

Bank account settlement information related to this BankWORKS account. Only billing level accounts require settlement details to be defined.

{id}/contracts
of type /contracts

Client contract resources linked to this account. An account is linked to a single effective merchant contract, however each contract may have multiple ineffective resources, both past and future effective.

{id}/payments
of type /payments

Payment transactions with settled amounts held in the account.

{id}/presentments
of type /presentments

Presentment transactions held in the account.

{id}/paymentInstructions

Payment instructions defined for the account.

{id}/accountFeeDefinitions

Account fees applicable for the merchant account based on the client contract tariff assigned. Contract based account fees as well as individual client specific account fees overriding contract based fees are available. Effective date needs to be taken into consideration as the relationship gives access to past, current and future effective data.

{id}/billingAccounts
of type /accounts

The billing account within the account hierarchy.

{id}/balanceCycles
of type /balanceCycles

The account balances per cycle.

/addresses

Format: JSON:API Resource

Represents BankWORKS client addresses. All address records have an effectiveDate value which indicates when the record becomes effective. Addresses in BankWORKS are categorised and each client can have a single effective address per category.

Permitted JSON:API resource operations:

GET /addresses :

Get a list of all client addresses.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /addresses :

Create a new client address record. Can be used to create present or future effective changes to a past effected non-clearing address record. Either the broker or the merchant must be linked, never both or neither.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /addresses/{id} :

Update is only possible on a clearing address (addressCategory 022) record or a present or future effective address record. In order to modify a past effected non-clearing address, a new address record needs to be created using POST having a present or future dated effectiveDate value.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /addresses/{id} :

Delete address resource belonging to client that is not yet on-boarded or future effective address records.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
addressCategory
string (3)

The address category identifier for the returned client address resource are the following but not limited to:

  • 001 Standard
  • 006 Statement
  • 007 Location Address
  • 010 Contact Address
  • 022 Clearing Address
  • 202 Branch Office Address

A client must have at least a standard (001) and a clearing (022) address.

Refer to BankWorks (API) Data Mapping documentation for possible values.

effectiveDate
date-only

The date in ISO 8601 format when the address becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, the current posting date is automatically assumed.

expiryDate
date-only

The date in ISO 8601 format when the address record is no longer taken into consideration. Can be used for temporary addresses. Date must be in the future.

addressLine1
string (35)

Address line typically used for building information but not limited to house name, number, floor, unit and block number.

addressLine2
string (35)

Address line typically used for street information such as street number and name.

addressLine3
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine4
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine5
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

contactName
string (35)

Main contact name for the address.

city
string (35)

Client’s city.

state
string (3)

3 digit identifier for the client’s state/region.

Refer to BankWorks (API) Data Mapping documentation for possible values.

country
string (3)

The ISO 3-letter country code. In cases where value consists of 3 digits, 000 means not applicable and 999 means applicable to all countries.

postCode
string (20)

Client’s postcode.

poBox
string (10)

P.O. Box details.

addressLanguage
string (3)

3-digit identifier for the client address language.

Refer to BankWorks (API) Data Mapping documentation for possible values.

telephone1
string (15)

Primary address fixed line number, for example, a client’s home or business telephone number.

telephone2
string (15)

Secondary address fixed line number for example a secondary business telephone number.

faxWork
string (15)

Office fax number.

deliveryMethod
string (3)

3-digit value indicating the preferred delivery option for correspondence. Defaulted to not applicable (000) if not provided.

Refer to BankWorks (API) Data Mapping documentation for possible values.

emailAddress
string (60)

Client’s e-mail address. This is required if deliveryMethod is set to 500 (E-mail).

recordDate
date-only

The date in ISO 8601 format for when the address record was created.

Relationships
{id}/merchant
of type /merchants

Merchant who owns the address information. An address can only belong to one client.

{id}/broker
of type /brokers

Broker who owns the address information. An address can only belong to one client.

{id}/kycClient
of type /kycClients

KYC/AML client who owns the address information. An address can only belong to one client.

/authorisations

Format: JSON:API Resource

Resource representing online authorizations. It is possible to retrieve a list of all online authorizations available for your user and create card not present authorizations. Refer to the use cases for more information.

Permitted JSON:API resource operations:

GET /authorisations :

Retrieve a list of all online authorisations.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /authorisations :

Create a new authorisation transaction.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

Name Description
cardNumber
string (19)

The cardholder’s card number. The value is returned in masked format.

To filter with this field, you will need to use the LIKE operator with wildcard(%25) and the last four digits of the card, together with a filter for other fields if needed.

  • filter[cardNumber][LIKE]=%258906
transactionStatus
string (3)

Indicates the authorization transaction status.

  • 003 - Error
  • 005 - Loaded
  • 011 - Archived
  • 024 - Duplicate
  • 030 - Reversed
  • 999 - Pending
expiryDate
number (4)

The expiry date of the card in YYMM format.

messageTypeId
string (4)

4-digit ISO code indicating the authorization message.

  • 0100 - Authorization
  • 0200 - Financial Request
  • 0220 - Advice
  • 0420 - Reversal Advice
transactionDate
date-time

Local date and time of the transaction originating at the point of service in ISO 8601 format.

transmissionDate
date-time

The transaction date and time at point of service in UTC 0, expressed in ISO 8601 format.

amount
object

Requested amount for this authorization. If the authorization will include a surcharge amount (provided in feeAmount), the amount attribute needs to include the full authorization amount, requested amount + the surcharge amount.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeAmount
object

The feeAmount can be used to add a surcharge fee to the transaction. The value accepts both a negative and positive value. A negative value indicates a credit to the cardholder. A positive value indicates a debit to the cardholder. To determine the authorisation amount the feeAmount can be added or subtracted to the amount value depending on the feeAmount sign.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

transactionType
string (2)

A 2-digit code indicating the processing code of the transaction type.

  • 00 - Purchase
  • 20 - Refund
  • 37 - Card Verification
authIndicator
string (2)

Indicates

Pre-authorisations:

  • A = Pre-authorisation Incremental (Used for subsequent incremental transactions after a pre-auth was made)

  • P = Pre-authorisation (Used for the first pre-auth transaction)

  • CP = Pre-authorisation with Credentials on File (Used for the first pre-auth transaction in which credentials will be stored). Respective RS2 Project Managers need to be contacted in order to make use of such value.

  • T = Totality, (used for Pre-Authorization Completion; Final Authorization Indicator in a Pre-Authorization series)

Settlement Transaction

The following should only be used in the 0220 message to indicate that the transaction can be settled

  • S = Capture Transaction

Credentials-on-File

The following value should be used for transactions which are sent using credentials stored on file, and which are not recurring or installments

  • C = Credentials on file

For further information refer to Credentials-On-File used cases.

Other

  • R = Recurring Transaction

Diners / Discover only values

  • L = Delayed Card Sale

  • E = Re-submission of Card Sale

  • N = No-Show Charge

  • H = Re-authorization (Diners only)

  • U = Unscheduled Payment

additionalAuthIndicator
string (1)

This indicator can be used as an additional flag for specific authorization requests.

An example would be for merchants with terminals accepting partial authorizations, request would need to be provided with either 1 or 3 value.

Possible values:

  • 0 = Not applicable: Indicators not set in current transaction or field is not applicable

  • 1 = Terminal accepts partial authorization responses

  • 2 = Estimated amount and terminal does not support partial authorization responses

  • 3 = Estimated amount and terminal accepts partial authorization responses

networkTraceId
string (15)

This field contains the trace id / transaction identifier used by the card schemes to link subsequent transactions.

In the subsequent requests, RS2 should receive the original trace ID / transaction identifier returned in the response from the first authorization in a recurring series. This includes subsequent aggregate or incremental pre-authorizations, completions, recurring transactions and reversals.

In responses, RS2 will return the trace ID for each transaction as returned by the schemes, which may be different than the one sent in the request. API users are to store the networkTraceId value for subsequent transaction use.

Note: Currently, this field is returned for MasterCard, Visa, Discover, Diners and ELO transactions only

transactionInitiatorId
string (4)

Applicable for MasterCard recurring transactions. A four character value indicating the cardholder/merchant initiated transaction category and and indicator subcategory.
For example, C102 to indicate Cardholder Initiated, Standing Order (variable amount and fixed frequency).

List of possible values:

C1 - Cardholder Initiated

  • 01 - Credential-on-file (ad-hoc): Consumer agrees to store the credential on file with the merchant for future cardholder-initiated and/or merchant-initiated transactions that may occur from time to time, or consumer chooses to use a credential previously placed on file with the merchant when making a purchase.

  • 02 - Standing Order (variable amount and fixed frequency): Consumer agrees to store the credential-on-file and initiates a first transaction in a series intended to be for a variable amount and a fixed frequency.

  • 03 - Subscription (fixed amount and frequency): Consumer agrees to store the credential-on-file and initiates a first transaction in a series intended to be for a fixed amount and a fixed frequency.

M1 - Merchant Initiated Recurring Payment

  • 01 - Unscheduled Credential on File: A transaction made pursuant to an agreement between a cardholder and a merchant, whereby the cardholder authorizes the merchant to store and use the cardholder’s account data to initiate one or more future transactions. The transaction can be for a fixed or variable amount but does not occur at regular intervals on a scheduled date.

  • 02 - Standing Order (variable amount fixed frequency): A transaction made pursuant to an agreement between a cardholder and a merchant, whereby the cardholder authorizes the merchant to store and use the cardholder’s account data for a transaction that must occur at regularly scheduled intervals for a variable amount, as specified in the agreement.

  • 03 - Subscription (fixed amount and frequency): A transaction made pursuant to an agreement between a cardholder and a merchant, whereby the cardholder authorizes the merchant to store and use the cardholder’s account data for a transaction that must occur at regularly scheduled intervals for a fixed amount, as specified in the agreement. The subscription agreement may include an allowance for introductory pricing or for price changes to occur from time to time.

M2 - Merchant initiated Industry practice

  • 07 - No Show Charge: A penalty charged according to the merchant’s cancellation policy.

  • 08 - Resubmission: Previous attempt to obtain authorization for a transaction has been declined but the issuer’s response does not prohibit the merchant from trying again later.

paymentGatewayId
string (11)

Represents the MasterCard merchant payment gateway identifier registered with the card scheme. Should contain numeric value only up to 11 digits.

responseCode
string (2)

2-digit ISO code value indicating the switch response.

responseCodeAdvisory
string (2)

A 2-digit code indicating the merchant advisory response code received from the card schemes (Visa or MasterCard. This functionality may not be available for your particular institution, in which case, no value is returned.

01 - Issuer will never approve. Do not try again. Payment Cancellation (MasterCard use only)

02 - Issuer cannot approve at this time (Visa: Re-attempt up to 15 times over 30 days)

03 - Issuer indicates data quality problem on payment information, acquire new account information or revalidate payment credentials (Visa: Re-validate payment information prior to re-attempt. Re-attempt up to 15 times over 30 days.

04 - Issuer generic decline category (Visa: Re-attempt up to 15 times over 30 days)

05 - Token requirements not fulfilled for this token type

06 - Undefined response code category, used for Visa or MasterCard in certain situations.

07 - MasterCard indicates that Merchant doesn’t qualify for product code. Modify transaction parameters or do not try again.

MasterCard use only:

08 - Not available. Retry after 1 hour

09 - Not available. Retry after 24 hours

10 - Not available. Retry after 2 days

11 - Not available. Retry after 4 days

12 - Not available. Retry after 6 days

13 - Not available. Retry after 8 days

14 - Not available. Retry after 10 days

15 - Informational - no action required.

Consumer non-reloadable prepaid card. Merchant should be aware using this card on file such as installments/subscription might be subject to future failure and should seek alternate method instead.

16 - Informational - no action required.

Consumer single-use virtual card number. Merchant should be aware using this card on file such as installments or subscription will likely be subject to future failure and should seek alternate method instead.

19 - Sanctions scoring service: Score exceeds applicable threshold value.

reasonCode
string (2)

2-digit ISO code value to indicate the reason code for reversal advice.

  • 12 - User cancellation
  • 68 - Timeout
authorisationCode
string (6)

The 6-character external authorization code (for example, from card schemes).

stan
string (6)

The System Trace Audit Number. A six digit code that must be unique for an online request. Used in conjunction with the transmissionDate and messageType ID to uniquely identify an authorisation.

retrievalReference
string (12)

A 12-digit identifier (left padded with zeros) automatically generated. Can be used as a transaction reference for retrieval purposes.

externalReference
string (36)

A client-specific external identifier value. The value of the externalReference must be unique for each transaction.

hasAddendum
boolean

This flag should only be sent with a capture advice request (0220) whenever addendum data is sent via an 0340 message type. An example would be corporate cards L2/L3 data.

purchaseIdentifier
String (26)

This field contains the equivalent of Visa DE62 Subfield 7.

Position 1 is the purchase identifier format. As listed below are the valid values:

  • 1 - Order Number

  • 3 - Rental Agreement Number

  • 4 - Hotel Folio Number

  • 5 - Invoice Number

Position 2-26 is the purchase identifier, this contains the order number.

merchantId
string (15)

The merchant ID or MID is a 15 character value that reflects the merchant account created by the processor.

eCom
object

Object containing eCommerce related attributes, for eCommerce transactions.

Name Description
cvc2
string (4)

The 3 or 4 digits card cvc2 security attribute.

3dSecure
string (42)

Multi-purpose data transport used to communicate cardholder authentication data between the cardholder, merchant, acquirer and issuer for e-commerce transactions.

Its presence is indicated by the securityLevelIndicator attribute.

The data to be passed must be as specified in the Card Organisation online specification manual. For further details please refer to:

  • Diners/Discover/ELO DE 122 AN(…42)

  • MCR DE 48.43 ANS(…32)

  • VISA DE 126.9 H(40)

  • AMEX DE 61.5 H(40)

xid
string (42)

The Universal Cardholder Authentication Field value used for 3D secure transport. Applicable for VISA authorisations only.

securityLevelIndicator
string (3)

Indicates if the eCommerce channel is encrypted and if UCAF is supported or not by the merchant. The below positions 1, 2 and 3 indicate the options of the secure level indicator.

  • 21x - Channel Encrypted
  • 22x - Encrypted MasterPass
  • 91x - No Security Protocol (9xx - No security protocol cannot be used for MasterCard transactions)
  • xx0 - UCAF not supported
  • xx1 - UCAF supported
  • xx2 - UCAF present
  • xx4 - UCAF present with Insights AAV for MasterCard Identity Check
cvc2ResultCode
string (1)

Indicates response of CVC2 check.

  • M - Match
  • P - Not Processed
  • S - CVV2 should be on the card, but merchant indicated that it was not
  • U - Unknown/Issuer does not participate
  • X - Server provider did not respond
psd2ExemptionFlag
string (2)

Valid values:

  • 01 = Merchant Initiated Transaction

  • 02 = Transaction passed a risk analysis

  • 03 = Low Value Payment

  • 04 = SCA delegated

  • 05 = Secure Corporate Payment

  • 06 = Trusted Merchant

  • 07 = Authentication Outage Exception (Currently Mastercard only supported)

3dSecVersion
string (1)

The 3DSecure Version indicates the program protocol being used. The character is the 3D Secure version number. Applicable for MasterCard 3D secure transactions only.

  • 1 = EMV 3-D Secure Version 2.1

  • 2 = EMV 3-D Secure Version 2.2

  • 3 = EMV 3-D Secure Version 2.3

  • 4 = EMV 3-D Secure Version 2.4

  • 5 = EMV 3-D Secure Version 2.5

  • 6 = EMV 3-D Secure Version 2.6

  • 7 = EMV 3-D Secure Version 2.7

  • 8 = EMV 3-D Secure Version 2.8

  • 9 = EMV 3-D Secure Version 2.9

3dSec2DirSerTranId
string (36)

MasterCard only. Applicable for 3D Secure Version 2.0 onwards. Indicates the Directory Server Transaction ID provided by the authentication server. For example:

f38e6948-5388-41a6-bca4-b49723c19437.

3dSecResponse
string (1)

Accountholder Authentication Value (AAV) which contains the result of the 3DS verification. Applicable for VISA and Mastercard only. Possible response:

  • 0 = AAV verification not performed/not supported by issuer

  • 1 = AAV verification success

  • 2 = AAV verification failure

  • 3 = AAV verification expected but not performed

  • 4 = AAV verification failure - Invalid Security Level Indicator

pos
object

Object containing point of service specific attributes.

Name Description
terminalId
string (8)

An 8-character value identifying the transaction point of service. This value may be required in certain scenarios for transactions to be cleared. If not provided the value defaults to a ‘0AUTHAPI’ value.

panEntry
string (3)

3-digit value used to identify the method by which the card number was captured by the terminal. The first 2 digits indicate the PAN entry mode, last digit is the pin indicator which should be 0 for eCommerce transactions.

  • 010 - Manual (useable for one-time and initial recurring eCommerce, Phone/ARU or Mail order authorisations)

  • 100 - Credentials on file (useable for credential on file or merchant-initiated authorisations)

posCondition
string (2)

2-digit ISO value that is used to identify the point of service event of the authorization.

  • 59 - eCommerce
  • 07 - Phone/ARU order
  • 08 - Mail order
avs
object

Object containing Address Verification System attributes

Name Description
postCode
string (9)

Cardholder postcode, for AVS verification, up to 9 characters

streetAddress
string (20)

Cardholder street information for AVS verficiation, up to 20 characters. Alphabetic numbers should be sent in a numeric format. For example, ‘1 second avenue’ should be sent as ‘1 2nd avenue’

response
string (1)

AVS Response.

Address Verification Service Response Visa:

  • A - Street address: MATCH

  • B - N/A

  • M - Post code: MATCH, Street address: MATCH

  • N - Post code MISTMATCH, Street address MISMATCH

  • P - N/A

  • R - Post code: RETRY, Street address: SYSTEM UNAVAILABLE

  • U - Post code: NOT VERIFIED, Street address: NOT VERIFIED

  • Z - Post code: MATCH

Address Verification Service Response Other Card Schemes:

  • A - Post code MISMATCH, Street address MATCH
  • B - Post code NOT VERIFIED, Street address MATCH
  • M - Post code MATCH, Street address MATCH
  • N - Post code MISTMATCH, Street address MISMATCH
  • P - Post code MATCH, Street adress NOT VERIFIED
  • R - RETRY;SYSTEM, Street address UNAVAILABLE
  • U - Post code NOT VERIFIED, Street address NOT VERIFIED
  • Z - Post code MATCH, street address MISMATCH
india
object

Object containing attributes that must be provided for recurring payments initiated on India issued cards (VISA only). This is only used for POST request and will not be returned to the response.

Name Description
recurringPaymentType
string (1)

Indicates the type of recurring payment.

Valid values:

  • 1 - Registration / First transaction

  • 2 - Subsequent transaction

  • 3 - Modification

  • 4 - Cancellation (only applicable for messageType 0100 authorization request)

paymentAmountIndicator
string (1)

The indicator per recurring payment transaction. Valid values:

  • 1 - Fixed amount recurring payment

  • 2 - Recurring payment with maximum amount

recurringPaymentNumber
string (2)

Contains a value ranging from 01–99 that helps the issuer to identify total number of recurring debits for that cardholder has agreed with merchant. Value of 99 means that recurring payments are authorized until canceled or that the Number of Recurring Payments is not defined.

recurringPaymentFrequency
string (2)

Indicates the frequency of payment. Valid values are:

  • 01 - Daily,

  • 02 - Twice weekly,

  • 03 - Weekly,

  • 04 - Ten days,

  • 05 - Fortnightly,

  • 06 - Monthly,

  • 07 - Every 2 months,

  • 08 - Trimester,

  • 09 - Quarterly,

  • 10 - Twice yearly,

  • 11 - Annually,

  • 12 - Unscheduled

registrationReference
string (35)

A unique reference number for the recurring payment transaction. Alphanumeric 35 value. The reference number needs to be provided by the merchant, the value is provided by the SI (Standing Instruction) provider that the merchant works with.

maxRecurringPaymentAmount
object

The maximum recurring payment account agreed to by the cardholder.

Object containing two additional attributes:

  • value The quantative decimal monetary amount (eg. 2.13)

  • currency The ISO 4217 currency code (eg. ‘EUR’)

validationIndicator
string (1)

This tag will contain a value that indicates whether or not the recurring payment transaction has been validated offline during registration.

  • 0 - Not validated

  • 1 - Validated

paymentFacilitator
object

Object containing attributes to support payment facilitator or marketplace requests.

Name Description
cardAcceptorName
string (25)

Only to be provided in case of transactions initiated by payment facilitator or marketplace. Do not send in case of regular merchants.

For Payment Facilitators

Includes the payment facilitator name, in full or in abbreviated form, must be three, seven, or twelve characters in length, followed by an asterisk and the sub-merchant name. Example: PayFacs*SubMerchant

For Visa Marketplaces

Either : Includes the marketplace name, in full or in abbreviated form, followed by an asterisk and the retailer name. Example: Marketplace*Retailer

OR : Includes the marketplace name only

Note: Formats mentioned above are in the RS2Host specification format. RS2 handles the internal conversion to ensure compliance with the card scheme format depending on the card organization applicable for the transaction.

subMerchantCity
string (13)

Indicates the city location of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

subMerchantCountry
string (3)

Indicates the country code, using ISO-3 letter format, of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

paymentFacilitatorId
string (11)

This attribute contains the Payment Facilitator ID/Marketplace ID assigned by the card scheme.

Note 1: As of October 2020 Marketplace is only supported by VISA.

independentSalesOrganisationId
string (11)

This attribute contains the Independent Sales Organization ID assigned by the card scheme.

subMerchantId
string (15)

This attribute contains the Merchant ID of the sub-merchant.

Note: This is also referred to as Sponsored Merchant ID.

subMerchantStreet
string (48)

This attribute contains the card acceptor street for the sub-merchant or Amex OptBlue participant.

subMerchantPostCode
string (10)

This attribute indicates the geographic code of the sub-merchant’s location.

When it is present in a Brazilian Visa transaction, this subfield contains the 8-character numeric postal code.

subMerchantPanEntry
string (1)

The terminal entry capability for sub-merchant terminal:

  • 0 unknown
  • 1 manual, no terminal

Refer to API Data Mapping documentation for list of terminal entry capability available for the institution.

subMerchantTaxId
string (15)

Sub-merchant Tax ID.

This field can also be used for the Brazil sub-merchant tax ID to be sent for Brazil Visa and ELO transactions.

subMerchantVatCategory
string (2)

This attribute contains the Argentina sub-merchant tax category id to be sent for Argentina Mastercard Domestic transactions. Valid values are:

  • 01 Registered Taxpayer
  • 02 Subject not Categorized
  • 03 Exempt
  • 08 Single Taxpayer
  • 09 Not Registered Taxpayer (Re-categorized Form 560/F AFIP) Non-Registered Taxpayer (Recategorized Form 560/F AFIP))
foreignRetailerIndicator
string (1)

Only applicable in case of a Visa Marketplace transaction:

  • Not included if retailer is in the same country as the acquirer
  • F’ In case the the retailer is located in a different country
state
string (3)

State of the sub-merchant. Used by MasterCard/AMEX/Discover only.

email
string (40)

Email of sub-merchant or Amex OptBlue Participant.

telephoneNumber
string (20)

Sub-merchant telephone number available for Mastercard / AMEX / Discover. Required by Mastercard in case URL is not available.

This attribute can also be used for Amex: OptBlue Participants and Bill Payment Providers as well.

Amex Supports up to 20 characters. MasterCard/Visa/Discover support up to 16 characters.

For a limited time period, this attribute can be used to supply the merchant\’s service telephone number in case of a MasterCard merchant not having the service telephone number stored in BankWORKS.

url
string (97)

Represents the sub-merchant website address.

Required by MasterCard for eCommerce transactions and in case a service telephone number (paymentFacilitator.telephoneNumber) is not available.

For a limited time period, this attribute can be used to supply the merchant’s URL in case of a MasterCard merchant not having the URL stored in BankWORKS.

subMerchantMcc
string (4)

To be provided on in case of a transaction initiated by a payment facilitator.

Refer to API Data Mapping documentation for list of MCCs available for the institution.

serviceLocation
object

The service location object is used to pass service location data related to the transaction as required by MasterCard.

Service location data is applicable for:

  • E-commerce: electric vehicle charging or fuel purchase
  • E-commerce: In-store pickup
  • Ride-hailing (eCommerce app payment)
  • Onboard transit (eCommerce app payment)
Name Description
cityName
string (13)

Service location city name.

state
string (3)

Service location state (sub-country) code.

country
string (3)

Service location country code (ISO-3 letter format)

postCode
string (10)

Service location post code.

additionalAmounts
object

This object can be used in the request message of a pre-Authorization Incremental transaction to fill the total accumulated amount of the pre-authorization. When having an Incremental transaction this field is mandatory (with amountType value ‘56’) for Discover and Diners, however, it is optional for other card schemes.

This object is also used in the request message of MIT such as Recurring, Installment, Delayed Card Sale, Re-submission of Card Sale, No-Show Charge, and Unscheduled Payment to fill the amount requested in the original transaction. When having any of the mentioned MIT, this field is mandatory (with amountType value ‘57’) for Discover and Diners. However, it is optional for other card schemes.

Name Description
amountType
string (2)

Indicates the Valid Values:

  • 44 = Tip Amount

  • 56 = Total Accumulated Amount

  • 57 = Original MIT Amount

actualAmount
object

Represents the amount value of the amountType defined. Note that all the actual amount currencies MUST match. The maximum allowed length (including decimal points) is 12.

Relationships
{id}/merchant
of type /merchants

Linked merchant from where the authorization originated.

{id}/originalAuth
of type /authorisations

Links an authorization to another authorization for specific scenarios such as reversal, where the reversal must cancel out an existing authorization. Refer to use cases for more specific information.

/authorisationsAddendum

Format: JSON:API Resource

Addendum authorisation data such as Corporate Card L2/L3 data is passed via an 0340 request message and their respective 0350 response message. This API is used to define the addendum data transfer. In order to send addendum data, the authorisation request must first be sent as an 0100 authorisation message via the /authorisations API. Following the successful 0100 message, the /authorisationsAddendum API can be used to sent the 0340 message. Finally, once the desired addendum data has been passed, a 0220 completion advice message needs to be passed via /authorisations. Please refer to the Corporate Cards section under authorisations for more information.

Permitted JSON:API resource operations:

GET /authorisationsAddendum :

Retrieve a list of all authorisation addendum.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /authorisationsAddendum :

Create a new authorisation addendum transaction.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

Name Description
transactionDate
date-time

Local date and time of the transaction originating at the point of service in ISO 8601 format.

transmissionDate
date-time

The transaction date and time at point of service in UTC 0, expressed in ISO 8601 format.

stan
string (6)

The System Trace Audit Number. A six digit code that must be unique for an online request. Used in conjunction with the transmissionDate and messageType ID to uniquely identify an authorisation.

responseCode
string (2)

2-digit ISO code value indicating the switch response.

addendumType
string (5)

Represents a descriptor identifying the type of addendum. Accepted values:

CORPT - (corporate card line item)

addendumSequence
number

The addendum sequence number must be provided specifying the addendum number starting from ‘1’. If more than one addendum authorisation is sent, the correct sequence increment must be provided.

For example:

  • 0340 request 1- addendumType: ‘CORPT’, addendumSequence: 1

  • 0340 request 2 - addendumType: ‘CORPT’, addendumSequence: 2

addendumJson
string (2000)

Generic attribute which accepts a JSON object as a string, containing the necessary addendum record format. Following the intial response, this information is not sent back in GET calls. Data cannot exceed 2000 bytes in size. Please note that the specification is available as a separate document. Please contact your respective RS2 Project Manager for more information.

Relationships
{id}/originalAuth
of type /authorisations

The addendum authorisation must be linked to the original pre-auth message.

/balanceCycles

Format: JSON:API Resource

Represents BankWORKS account balances per cycle. Balances are maintained in eight separate sub-balances, four reflecting activity for debit type transactions and four reflecting activity for credit type transactions.

Permitted JSON:API resource operation:

GET /balanceCycles :

Get a list of balances for all client accounts per cycle.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
accountNumber
string (11)

The client’s BankWORKS sub-account number.

beginBalance
object

The balance brought forward from the previous cycle as of date cycle start.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

currentBalance
object

The balance of the account based on all processed transactions, the current cycle balance.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

dateCycleStart
date-only

The account’s billing cycle start date.

dateCycleEnd
date-only

The account’s billing cycle end date.

processingStatus
string (3)

Indicates the status of the cycle i.e. Current (004) or Closed (015).

credits
object
Name Description
balancePayments
object

The amount of payments affected during this cycle.

balanceRefunds
object

The amount of refunds recieved during this cycle.

balanceInterest
object

The amount of credit interest posted during this cycle.

balanceBonus
object

The amount of credit bonuses recieved during this cycle.

transactionCount
number

Denotes the number of CREDIT transactions posted during the current cycle.

debits
object
Name Description
balanceCash
object

The amount of cash withdrawals affected during this cycle.

balanceRetail
object

The amount of purchases affected during this cycle.

balanceInterest
object

The amount of debit interest posted during this cycle.

balanceCharges
object

The amount of charges generated during this cycle.

transactionCount
number

Denotes the number of DEBIT transactions posted during the current cycle.

lastAmendmentDate
date-only

The date this record was changed last.

Relationships
{id}/account
of type /accounts

Returns the BankWORKS client account related to the cycle balances.

/billingCycleDefinitions

Format: JSON:API Resource

A resource for retrieval of the billing cycles available under an institution. Billing cycles under an institution can be setup for the merchant accounts (refer to /accounts.billingCycle). In addition the accountDefinitions setup would also have a default billingCycle which can be overridden when defining a merchant account.

Permitted JSON:API resource operation:

GET /billingCycleDefinitions :

Retrieval of billing cycle definitions.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
billingCycle
string (3)

This represents the 3-digit ID of the billing cycle. E.g. 020 (Business EOC)

Refer to API Data Mapping documentation for account definitions available for the institution.

cycleStartDate
date-only

The start date of the billing cycle in ISO 8601 format. E.g. 2022-04-01

cycleEndDate
date-only

The end date of the billing cycle in ISO 8601 format. E.g. 2022-04-30

status
string (3)

The status ID of the billing cycle. E.g. 004 (Current)

Refer to API Data Mapping documentation for account definitions available for the institution.

recordDate
date-only

The date in ISO 8601 format on which the billing cycle definition record was created.

/brokers

Format: JSON:API Resource

Brokers are third party entities working in partnership with the acquiring institution, providing a subset of acquiring services to the merchant on behalf of the institution such as merchant boarding.  BankWORKS broker client types may also have a contract along with accounts or services for commission and payment purposes. Brokers may also have a contract along with accounts and other elements defined in the relationship for commission and payment purposes.  Refer to the respective broker use cases for more information on usage and functionality.

Permitted JSON:API resource operations:

GET /brokers :

Get a list of all brokers available for the institution regardless of status. It is possible to filter the returned results as required by using the available attributes.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /brokers :

Create a new inactive broker.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /brokers/{id} :

Amend a single broker identified by the resource identifier.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /brokers/{id} :

Delete broker resource for a client that is not yet on-boarded. Deletion of broker clients is not possible following client on-boarding.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
clientNumber
string (8)

8-digit BankWORKS client number that is unique per institution. System generated if not provided during new broker definition. A unique number must be provided if user defined.

status
string (3)

Indicates the broker current status.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientType
string (3)

Indicates the broker’s client type.

Refer to BankWorks (API) Data Mapping documentation for possible values.

shortName
string (26)

Broker’s short name. If not provided during broker creation, the tradeName value will be used.

companyName
string (45)

The broker company name.

tradeName
string (40)

The name under which the company is trading.

registrationNumber
string (15)

The broker registration number.

language
string (3)

Broker’s language.

Refer to API Data Mapping documentation for account definitions available for the institution.

legalForm
string (3)

Related to the legal form of the broker, such as:

  • 000 n/a
  • 001 Limited
  • 002 Joint Stock
  • 003 Plc
  • 004 GmbH
  • 005 Societe Anonyme
  • 006 Company
  • 007 Corporation
  • 029 Sole Proprietor

Refer to BankWorks (API) Data Mapping documentation for possible values.

businessClass
string (4)

The ISO 4-digit business classification code.

Refer to API Data Mapping documentation for account definitions available for the institution.

vatRegistrationNumber
string (15)

A reference number used for clearing purposes.

mainContactDetails
object
Name Description
title
string

Broker main contact’s salutation. If not provided will be defaulted to not applicable, such as one of 000 (N/A), 001 (Mr), 002 (Mrs), 003 (Miss).

Refer to BankWorks (API) Data Mapping documentation for possible values.

contactName
string (15)

Broker’s main contact.

mobile1
string (15)

Primary mobile phone number.

mobile2
string (15)

Secondary mobile phone number.

rbsClientNumber
string (20)

External broker reference number.

^\d*$

website
string (100)

Broker website address details.

taxCountry
string (3)

The ISO 3-letter country code of the broker’s country for tax information. In cases where value consists of 3 digits:

  • 000 means not applicable
  • 999 means applicable to all countries

Refer to API Data Mapping documentation for account definitions available for the institution.

Relationships
{id}/addresses
of type /addresses

Broker’s addresses. A broker may have 1 effective address per category, the relationship provides access to current effective as well as past or future ineffective data.

{id}/contracts
of type /contracts

Contracts linked to the broker. A broker may have one effective contract record per service contract assigned. Each

{id}/accounts
of type /accounts

BankWORKS accounts assigned to the broker.

{id}/settlementPackages

Broker’s bank account settlement details. Only brokers having accounts at billing level will require settlement information to be defined.

{id}/clientRelations

All virtual links related to the broker.

/cardSchemeAddendum

Format: JSON:API Resource

Resource representing merchant specific card scheme flags and values for transaction processing. Various card schemes are supported however one resource represents a set of values for one card scheme only. The card scheme is indicated by the cardOrganisation attribute. Card scheme additional data can be defined during new merchant boarding or following merchant activation as well. Refer to the respective use case for more usage information.

Permitted JSON:API resource operations:

GET /cardSchemeAddendum :

Get a list of all cardSchemeAddendum available for the institution. It is possible to filter the returned results as required by using the available attributes.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /cardSchemeAddendum :

Create a new cardSchemeAddendum. Card scheme addendums can be added during merchant onboarding or after merchant activation. Refer to the respective use cases.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /cardSchemeAddendum/{id} :

Amend cardSchemeAddendum identified by the resource identifier. Amendment can be done pre boarding of a merchant or post merchant activation if the cardSchemeAddendum is effective at a future date.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /cardSchemeAddendum/{id} :

Delete cardSchemeAddendum resource for a merchant that is not yet on-boarded or for future effective entries.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
cardOrganisation
string (3)

Indicates the card scheme for the addendum entry. Valid values:

  • 002 Mastercard
  • 003 Visa
  • 004 Amex
  • 006 Diners
  • 023 Discover
  • 032 Star
  • 033 NYCE
  • 034 Pulse
  • 035 Shazam
  • 036 ACCEL
  • 037 AFFN
  • 038 CULIANCE
  • 039 INTERLINK
  • 040 PAVD
  • 041 EBT

The cardOrganisation value determines the applicable card scheme object such as ‘visa’, ‘mastercard’ etc.. The object ‘pinDebit’ refers to any card scheme not represented by an individual object such as Star or NYCE.

effectiveDate
date-only

Indicates the cardSchemeAddendum resource when it will become effective.

If no value is provided prior to onboarding a new merchant the value defaults to the posting date available during merchant boarding.

Otherwise defaulted to the next processing date (posting date + 1).

visa
object

Applicable for cardOrganisation value 003.

Name Description
ipValue
string (10)

VISA Interchange Program indicator. If ipQualified is not empty/null, then only up to 10 hexadecimal characters are allowed, ie. A-F (in uppercase) and 0-9 with length up to 10 characters.

ipQualified
string (3)

VISA Interchange Qualification. This field is used to determine whether the merchant qualifies for particular Interchange Program. Depending on the Interchange Program a value is assigned by the card scheme upon registration of the merchant.

threshold
string (3)

VISA Interchange Threshold.

paymentFacilitatorId
string (11)

Payment Facilitator ID for VISA.

merchantClassification
string (3)

Indicates the classification of merchant whether it is a large or small merchant.

Refer to BankWorks (API) Data Mapping documentation for possible values.

aggregatorType
string (1)

Identifies the type of aggregator client:

  • P - Payment Facilitator

  • M - Marketplace.

mastercard
object

Applicable for cardOrganisation value 002.

Name Description
ipValue
string (10)

Mastercard Interchange Program indicator. Value accepted should be in 6-10 character length.

ipQualified
string (3)

Mastercard Interchange Qualification. This field is used to determine whether the merchant qualifies for particular Interchange Program. Depending on the Interchange Program a value is assigned by the card scheme upon registration of the merchant.

threshold
string (3)
paymentFacilitatorId
string (11)

Payment Facilitator ID for Mastercard.

amex
object

Applicable for cardOrganisation value 004.

Name Description
direct
string (3)

Indicates the merchant’s American Express payment processing option such as OptBlue or Direct.

disposition
string (3)

This will indicate whether the merchant is signed with OptBlue or Direct and if this was newly signed or moved from one Service Provider to another.

Refer to BankWorks (API) Data Mapping documentation for possible values.

salesChannelIndicator
string (3)

This is to identify the sales channel.

Refer to BankWorks (API) Data Mapping documentation for possible values.

salesAgentName
string (25)

This contains the identifier of the sales representative/agent.

discover
object

Applicable for cardOrganisation value 023.

Name Description
retained
string (3)

Indicates the merchant’s Discover payment processing option such as Retained or Non-Retained.

stub
string (3)

This flag should be used whenever a merchant STUB record at Discover needs to be closed off. This means that whenever a merchant contract is closed off with Discover, this flag should be enabled ‘001’ which will in turn trigger a STUB closure instruction within the Discover registration file.

debtRepaymentIndicator
string (3)

This will indicate for the repayment of consumer loans including auto, student, mortgages, and credit card balances occurring in the United States within specified MCCs.

statusCode
string (3)

Indicates the discover account closure codes.

programVerificationIndicator
string (10)

Indicates the unique identification number assigned by discover to a large merchant based on a pricing contract.

diners
object

Applicable for cardOrganisation value 006.

Name Description
intesCode
string (4)

A value that the scheme assigns to the merchant which will be inherited during transaction processing and sent back to the card scheme during clearing.

pinDebit
object

Applicable to any ONE of the following cardOrganisation values 032, 033, 034, 035, 036, 037, 038, 039, 040, 041.

Name Description
ipQualified
string (3)

This field is used to determine whether the merchant qualifies for particular Interchange Program. Depending on the Interchange Program a value is assigned by the card scheme upon registration of the merchant.

registered
string (3)

This indicates if the merchant is registered with the Network. It is used to drive certain fee functionality depending on whether the merchant is registered or not. Transactions are still accepted however fees might differ.

Relationships
{id}/contracts
of type /contracts

The contract applicable to this cardSchemeAddendum.

/chargeRules

Format: JSON:API Resource

Institution and broker specific transaction tariff templates and definition setup used for the generation of acquiring transaction fees and charges. Charge rules uses an effectiveDate to indicate when the rule comes into effect. Charge rules are grouped into templates.

Permitted JSON:API resource operation:

GET /chargeRules :

Retrieve a list of all transaction tariff templates and definitions.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
recordIdNumber
string (10)

Genrated by API. This id of the transaction tariff template is used when posting a new transaction tariff definition.

chargeType
string (3)

The type of fee such as a commission.

Refer to BankWorks (API) Data Mapping documentation for possible values.

areaOfEvent
string (3)

Defines where the transaction took place,

Refer to BankWorks (API) Data Mapping documentation for possible values.

captureMethod
string (3)

Describes how the transaction was generated from the data capture point of view. Example:

  • 010 Manual
  • 100 Electronic
  • 001 Card swiped, signature
  • etc…

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientTariff
string (6)

Client tariff package assigned.

Refer to BankWorks (API) Data Mapping documentation for possible values.

effectiveDate
date-only

Date when the charge fee becomes effective.

tierLevel
string (3)

User specified labels for transaction charge tiers.

Refer to BankWorks (API) Data Mapping documentation for possible values.

serviceContractId
string (3)

The service contract to which charge rules applies.

Refer to BankWorks (API) Data Mapping documentation for possible values.

serviceId
string (3)

Service to which the transaction charge applies.

Refer to BankWorks (API) Data Mapping documentation for possible values.

serviceType
string (3)

Describes the type of card service the fee definition applies to. It can be n/a.

Refer to BankWorks (API) Data Mapping documentation for possible values.

transactionCurrency
string (3)

SWIFT value indicating the transaction currencies on which the product charge can be applied. In cases where value consists of 3 digits, 998 means not applicable and 999 means applicable to all currencies.

transactionType
string (3)

The transaction type on which the charge can be applied. Can also indicate all transactions.

Refer to BankWorks (API) Data Mapping documentation for possible values.

feePercent
number

The percentage value used to generate the fee for product based on fee trigger setup. Maximum allowed length (including decimal point) is 11.

feeBase
object

The standard amount generated for the product fee. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMinimum
object

Indicates the minimum value that can be charged for the product if the feeBase and feePercent values are LOWER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMaximum
object

Indicates the maximum value that can be charged for the product if the feeBase and feePercent values are GREATER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

plIndInward
string (3)

The transaction type of the fee set up as an inward charge.

Refer to BankWorks (API) Data Mapping documentation for possible values.

Relationships
{id}/templateRule
of type /chargeRules

Links to the parent tariff based rule. Applicable for POST in order to identify original parent recordIdNumber.

/clientMappings

Format: JSON:API Resource

Resource representing additional merchant reference values that can be segregated by a number of attributes. An example of this can be a merchant reference value specific to a particular card organization and acquiring BIN.

Permitted JSON:API resource operations:

GET /clientMappings :

Retrieve all client mapping records.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /clientMappings :

To create a new client mapping.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /clientMappings/{id} :

Update the selected attribute of a particular client mapping record.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /clientMappings/{id} :

Delete particular client mapping record.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
transactionCurrency
string (3)

Indicates the currency applicable to the client mapping. The accepted currency value is in the 3-letter SWIFT format such as USD. Two 3 digit values are also accepted:

  • 998 means not applicable
  • 999 means applicable to all currencies

Refer to BankWorks (API) Data Mapping documentation for possible values.

groupNumber
string (8)

8-digit number indicating a billing and settlement hiearchical group. In this case, the group number indicates the hierarchy the contract form parts of. This field’s value is auto-generated.

businessClass
string (4)

The ISO 4-digit business classification code that the client mapping value is applies to.

Refer to BankWorks (API) Data Mapping documentation for possible values.

cardOrganisation
string (3)

Indicates the card scheme of client mapping.

Refer to BankWorks (API) Data Mapping documentation for possible values.

acquiringBin
string (6)

Indicates the acquiring bank BIN number that the client mapping value applies to.

sequenceNumber
string (3)

A value indicating the type of merchant ID which based on setup might be automatically generated or provided manually.

Refer to BankWorks (API) Data Mapping documentation for possible values.

allGroups
boolean

All merchant contract groups or not. Every mechant contract is bound to group which defines the hierarchy. Setting this value to true will apply the ID to all available merchant groups should the merchant have more than one service contract assigned. Otherwise, if false, the related contract needs to be linked to.

referenceNumber
string (20)

Client mapping reference value which can either be automatically generated or entered manually depending on the sequenceNumber value and associated setup. Generation method of 020 and 021 will trigger the automatic generation value for this field.

Relationships
{id}/merchant
of type /merchants

Merchant information to which the client mapping is related to.

{id}/contracts
of type /contracts

List of contract details to which the client mapping are related to.

/clientReferences

Format: JSON:API Resource

Resource representing the client references. These are institution specific client properties that may need to be stored for reference purposes. For example, an external third party merchant reference property.

Permitted JSON:API resource operations:

GET /clientReferences :

Retrieve all client references.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /clientReferences :

To create a new client reference record.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /clientReferences/{id} :

Update a client reference record.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /clientReferences/{id} :

Delete client reference record.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
referenceType
string (3)

Identifies the type of institution-specific client reference type.

Refer to BankWorks (API) Data Mapping documentation for possible values.

referenceValue
string (36)

Value of client reference. E.g. 1234000-ABC

Relationships
{id}/merchant
of type /merchants

The merchant owner of the reference property.

/clientRelations

Format: JSON:API Resource

A resource representing the virtual links between clients. In BankWORKS virtual links are relations between one client to another represented by a linkType. Virtual links are not to be confused with the billing & settlement hieirarchy represented by the /contracts hierarchy.

Permitted JSON:API resource operations:

GET /clientRelations :

Retrieve the virtual links between clients.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /clientRelations :

To create a new virtual link record.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /clientRelations/{id} :

Update a particular virtual link record. The effective date of record being modified should be greater than or equal to the current posting date.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /clientRelations/{id} :

Delete a particular virtual link record.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
sourceClient
string (8)

The source client number of the virtual link.

destinationClient
string (8)

The destination client number of the virtual link.

linkType
string (3)

Indicates the link type of the virtual link record such as:

  • 008 (Merchant → ISO)
  • 021 (Merchant → Beneficiary Owner)

Refer to API Data Mapping documentation for other possible values.

status
string (3)

The current status of the virtual link.

  • 001 Active
  • 002 Closed.

Refer to API Data Mapping documentation for other possible values.

effectiveDate
date-only

The date in ISO 8601 format when the virtual link becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, the current posting date is automatically assumed.

/clientTariffDefinitions

Format: JSON:API Resource

A new resource that accepts a new set of client fee rules. Related to a clientTariffTemplates.

Permitted JSON:API resource operations:

GET /clientTariffDefinitions :

Retrieval of all defined client fee tariff definitions.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /clientTariffDefinitions :

Creation of a new client fee tariff. If successful, will returned the HTTP response Created (201).

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

Name Description
tariffId
string (6)

Client tariff identifier - unique per service contract and institution.

tariffDescription
string

Description of client tariff identifier which taken from the account condition set choice table.

serviceContractId
string (3)

The service contract to which the account fee applies.

Refer to BankWorks (API) Data Mapping documentation for possible values.

feeRules
object

This is an array of client fee new rules that are to be define based on the client tariff template.

Name Description
recordIdNumber
string (10)

This is one of the record id number of client tariff template that to be use as a template of the new broker client tariff definition.

effectiveDate
date-only

Date when the client fee becomes effective.

feePercent
number

The new percentage value used to generate the fee for product based on fee trigger setup. Maximum allowed length (including decimal point) is 11.

feeBase
object

The new standard amount generated for the product fee. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

feeMinimum
object

The new minimum value that can be charged for the product if the feeBase and feePercent values are LOWER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

feeMaximum
object

The new maximum value that can be charged for the product if the feeBase and feePercent values are GREATER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Relationships
{id}/clientTariffTemplate

A new client tariff definition should be based on an existing client tariff template rule.

/clientTariffTemplates

Format: JSON:API Resource

Returns broker client tariff templates based on the available pricing models. Only one template per pricing model is available.

Permitted JSON:API resource operation:

GET /clientTariffTemplates :

Retrieval of all defined client tariff templates.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
serviceContractId
string (3)

The service contract to which the account fee applies.

Refer to BankWorks (API) Data Mapping documentation for possible values.

tariffId
string (6)

Broker client tariff template identifier that is unique per service contract and institution.

tariffDescription
string

Description of broker client tariff id template which taken from the account condition set choice table.

Relationships
{id}/contractDefinition

Broker contract definitions.

{id}/feeRules
of type /feeRules

Client tariff rules that are linked to this broker tariff template.

/clientTariffRules

Format: JSON:API Resource

Represents the granular client tariff rules content. Only the current effective records are returned.

Permitted JSON:API resource operations:

GET /clientTariffRules :

Retrieve a list of all client tariff rules and definitions.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

PATCH /clientTariffRules/{id} :

AModify the fees pertaining to the client tariff rule.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

Name Description
recordIdNumber
string (10)

Generated by API. This id of the client tariff template is used when creating a new client tariff definition.

feeCategory
string (3)

Three fee types represented under a client tariff such as account, service and device fees.

Refer to BankWorks (API) Data Mapping documentation for possible values.

feeTransactionType
string (3)

The transaction type of the generated fee.

Refer to BankWorks (API) Data Mapping documentation for possible values.

effectiveDate
date-only

Date when the client fee becomes effective.

feePercent
number

The percentage value used to generate the fee for account fee trigger setup. Maximum allowed length (including decimal point) is 11.

feeMinimum
object

Indicates the minimum value that can be charged for the account if the feeBase and feePercent values are LOWER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMaximum
object

Indicates the maximum value that can be charged for the account if the feeBase and feePercent values are GREATER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeBase
object

The standard amount generated for the account fee. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

accountCurrency
string (3)

Currency in SWIFT format of the account on which the account fees are applied. In cases where value consists of 3 digits:

  • 998 means not applicable
  • 999 means applicable to all currencies
accountTypeId
string (3)

Defines the type of account on which the fees are applied.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientFeeId
string (6)

The transaction type of the generated fee, eg Card Subscription Fee, Account Maintenance Fee.

Refer to BankWorks (API) Data Mapping documentation for possible values.

serviceContractId
string (3)

The service contract to which fee rules applies.

Refer to BankWorks (API) Data Mapping documentation for possible values.

serviceId
string (3)

Service to which the client fee applies.

Refer to BankWorks (API) Data Mapping documentation for possible values.

tierLevel
string (3)

Enables the setting up of the same fee but with a different trigger value high and low.

Refer to BankWorks (API) Data Mapping documentation for possible values.

triggerRuleId
string (3)

Defines a set of rules related to the generic fee.

Refer to BankWorks (API) Data Mapping documentation for possible values.

tariffId
string (6)

Tariff enables to set up client fees within the service contract eg Blended Pricing, IC++ Pricing etc.

Refer to BankWorks (API) Data Mapping documentation for possible values.

amendable
boolean

Based on the configuration, it tells whether or not the client tariff rule is amendable.

/contractDefinitions

Format: JSON:API Resource

Resource representing the service contract definitions available. Each contract definition encapsulates a number of services and accounts which are available as relationships. Service contracts are categorised by contract type which serves as an instruction for processing to drive specific functionality tied to each business type. Refer to contracts for client contracts based on these definitions.

Permitted JSON:API resource operation:

GET /contractDefinitions :

Get all service contract definitions applicable to your institution.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
serviceContractId
string (3)

Service contract package identifier.

Refer to BankWorks (API) Data Mapping documentation for possible values.

contractType
string (3)

Specification of the service contract from a business perspective such as issuer, acquirer, clearing or suspense.

Refer to BankWorks (API) Data Mapping documentation for possible values.

reviewPeriod
string (3)

Specifies how frequently the serviceContract should be revised.

Refer to BankWorks (API) Data Mapping documentation for possible values.

description
string (2000)

Free text description of the service contract.

Relationships
{id}/serviceDefinitions

Services that are linked to the service contract.

{id}/accountDefinitions

Accounts types that are linked to the service contract.

{id}/contracts
of type /contracts

Client contracts that are linked to the service contract.

/contracts

Format: JSON:API Resource

Resource representing client contract information. Each record returned represents a service contract assigned to a client along with specific client contract setup. Contracts have an effective date which dictates when the contract becomes active. This resource keeps history of contract records assigned to the client.

Permitted JSON:API resource operations:

GET /contracts :

Get a list of all client contracts available.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /contracts :

Define new contract resource for a new client. Creation of new contracts is not possible following client onboarding. Can be used to create future effective changes to a current contract record. Either the broker or the merchant must be linked, never both or neither.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /contracts/{id} :

Update a contract record for a client that is not yet onboarded or a future effective contract record. In order to modify a current contract, a new contract record needs to be created having a future dated effectiveDate value.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /contracts/{id} :

Delete contract resource for a client that is not yet onboarded or future effective contract records.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
status
string (3)

Indicates the status of the client contract. If not provided, this will be defaulted to 001 (Active).

Refer to BankWorks (API) Data Mapping documentation for possible values.

groupNumber
string (8)

8-digit number indicating a billing and settlement hiearchical group. In this case, the group number indicates the hierarchy the contract form parts of. This field’s value is auto-generated.

clientLevel
string (3)

Indicates the position of the current node resource within the group hierarchy. The top most level is identified as the Group level, the bottom level is the Member level. Any level in between the group and member levels is referred to as a Sub-group level node. Required only when onboarding a new client.

Refer to BankWorks (API) Data Mapping documentation for possible values.

effectiveDate
date-only

The date in ISO 8601 format on which the hierarchy link record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, posting date +1 value is assumed only post-boarding.

settlementMethod
string (3)

Indicates the method how the client will settle with the bank. Identifies how outstanding balances are settled. Required only when onboarding a new client.

Refer to BankWorks (API) Data Mapping documentation for possible values.

postingMethod
string (3)

The tariff under which the client falls when posting to the clients account.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientTariff
string (6)

Indicates the client tariff package assigned. Required only when onboarding a new client.

Refer to BankWorks (API) Data Mapping documentation for possible values.

transactionChargesTariff
string (6)

Indicates the applicable transaction charges tariff. Transaction charges are represented as productChargeDefinitions. This is an optional field and if not provided will default to not applicable 000000. If a tariff value is provided, the merchant services clientTariff value will not apply.

Refer to BankWorks (API) Data Mapping documentation for possible values.

chargeTierLevel
string (3)

Enables setting up of the same fee with different value high and value low triggers.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientScheme
string (6)

Indicates the rebate tariff applicable for the contract.

contractReference
string (8)

Merchant contract document reference.

bankReference
string (8)

External additional reference number of the merchant with the bank.

institutionAccountOfficer
string (3)

Officer in charge of the client contract.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientBranch
string (3)

Contract application branch details. Related to the institutionAccountOfficer.

Refer to BankWorks (API) Data Mapping documentation for possible values.

tierGroup
string (3)

An identifier used to group a set of rates that need to be applied during tiered pricing generation.

Refer to BankWorks (API) Data Mapping documentation for possible values.

entityId
string (3)

Entity identifier used to split GL entries and transactions generated for financial activity in a single processing institution across multiple legal entities.

riskRuleGroupId
string (3)

Identifier for the set of rules applies in the risk module.

Refer to BankWorks (API) Data Mapping documentation for possible values.

recordDate
date-only

The date in ISO 8601 format on which the merchant/contract record is created. Defaulted to the current posting date when a new record is created

Relationships
{id}/contractDefinition

Service contract definition the client contract is linked to.

{id}/merchant
of type /merchants

Merchant linked to the contract. A contract can be linked to a single client.

{id}/broker
of type /brokers

Broker linked to the contract. A contract can be linked to a single client.

{id}/accounts
of type /accounts

Accounts linked to the contract.

{id}/services
of type /services

Client service/s created under the client contract. Services have an effectiveDate. The relationship links to past, current and future effective data.

{id}/parentContracts
of type /contracts

Links to the parent contract, one level up the client hierarchy. The parent contract will have the current effective data as well as past or possible future effective iterations. The current effective can be determined by the effectiveDate value.

{id}/childContracts
of type /contracts

Direct child contracts beneath the Group or Sub-Group client in the hierarchy.

{id}/childHierarchy
of type /contracts

All the child contracts beneath the Group or Sub-Group client in the hierarchy.

{id}/merchantVelocityParameters

Merchant velocity parameters that apply to the merchant contract.

{id}/cardSchemeAddendums

One or more card scheme addendum resource this contract is linked to.

{id}/riskRuleParameters

One or more risk rule parameters this client contract is linked to.

/devices

Format: JSON:API Resource

Details of the physical point of sale (POS) machines. Device information is used for the generation of device fees and merchant identification when loading transactions received from POS terminals. A device requires the merchant to have a service representing the device assigned.

Permitted JSON:API resource operations:

GET /devices :

Get a list of all merchant devices or terminals available for the institution.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /devices :

Create a new merchant device.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /devices/{id} :

Modify device details given the device resource id.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /devices/{id} :

Delete device details given the device resource id.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
terminalId
string (8)

Terminal ID assigned to the device.

serialNumber
string (16)

Terminal serial number.

status
string (3)

Indicates the current terminal status.

Refer to BankWorks (API) Data Mapping documentation for possible values.

terminalType
string (3)

The model terminal type if it is a virtual POS, specific POS model or kind of POS terminal.

Refer to BankWorks (API) Data Mapping documentation for possible values.

terminalProfile
string (3)

A 3-character index-based value which determines the use of a POS device. E.g. Petrol-Unattended or Retail POS.

Refer to BankWorks (API) Data Mapping documentation for possible values.

currency
string (3)

The currency of the device in ISO 3-letter SWIFT format. In cases where value consists of 3 digits:

  • 998 means not applicable
  • 999 means applicable to all currencies
contactName
string (35)

Contact person responsible for the terminal.

posCapability
string (3)

The terminal capability for PAN PIN entry.

Refer to BankWorks (API) Data Mapping documentation for possible values.

endOfDayIndicator
string (3)

Defines the end-of-day method.

Refer to BankWorks (API) Data Mapping documentation for possible values.

lastChangedDate
date-only

Date when the record was last changed in ISO 8601 format.

Relationships
{id}/services
of type /services

Services applicable to the owner of the pos device. A service may have multiple resources with effective dates various effectiveDate values which can be used to determine past versions, current data as well as upcoming future setup.

{id}/deviceFeeDefinitions

Device fee definition setup related to the particular device. The relationship links to both contract based as well as device specific fees. Refer to effectiveDate to determine the device fee setup applicable at a given point in time.

/deviceFeeDefinitions

Format: JSON:API Resource

Resource which represents the device fees both setup as a contract-based fee or as an individual (client-specific) device fees.

Permitted JSON:API resource operations:

GET /deviceFeeDefinitions :

Get a list of both contract and individual (client-specific) device fees available for the institution.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /deviceFeeDefinitions :

Create a new individual fee specific for the client. Contract fees are not allowed to be created.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /deviceFeeDefinitions/{id} :

Modify an existing individual fee. Contract fees are not allowed for patch.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /deviceFeeDefinitions/{id} :

Deletion of an individual fee. Contract fees are not allowed for deletion.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
recordIdNumber
string (10)

A sequential unique id number which serves a reference to a contract or individual fee.

isContractFee
boolean

Indicates if a device fee is a contract-based fee. Otherwise, value is false if it is an individual device fee specifically defined for the client.

effectiveDate
date-only

Date when the device fee becomes effective.

clientTariff
string (3)

Tariff enables to set up various fees within the service contract of the client.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientFeeId
string (6)

The transaction type of the generated fee, eg Card Subscription Fee, Account Maintenance Fee.

expiryDate
date-only

Defines the date when the fee will expire and hence will no longer be generated.

feeBase
object

The base amount of the fee in relation to the value on which it is calculated.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMinimum
object

The minimum fee amount that will always be generated if calculated percentage is lower.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMaximum
object

The maximum fee amount that will always be generated if calculated percentage is higher.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMode
string (3)

The flag which indicates whether the fee is to be generated or suppressed.

Refer to BankWorks (API) Data Mapping documentation for possible values.

fixedPeriod
number (3)

Number of days due after the period reference.

lastFeeDate
date-only

Defines the most recent date on which the fee was generated.

periodReference
string (3)

Determines the value date of the fee, eg. Posting Date.

Refer to BankWorks (API) Data Mapping documentation for possible values.

referenceOperator
string (3)

Sign operator related to fixedPeriod following the periodReference.

Refer to BankWorks (API) Data Mapping documentation for possible values.

triggerPeriod
string (3)

The frequency when the defined fee will be processed e.g. Daily, End of Cycle etc.

Refer to BankWorks (API) Data Mapping documentation for possible values.

triggerOperator
string (3)

Sign operator related to trigger source and trigger value.

Refer to BankWorks (API) Data Mapping documentation for possible values.

triggerSource
string (3)

Defines the value or event that triggers the fee process.

Refer to BankWorks (API) Data Mapping documentation for possible values.

triggerRuleId
string (3)

Defines a set of rules related to the generic fee.

Refer to BankWorks (API) Data Mapping documentation for possible values.

Relationships
{id}/devices
of type /devices

Device or terminal information related to the device fee setup.

{id}/contractFees

Contract-based fees which served as a reference in creating individual device fees.

{id}/serviceDefinitions

Service definition related to the device fee setup.

/disputeCases

Format: JSON:API Resource

Resource representing BankWORKS Dispute Management System cases. Cases are assigned to the respective merchants based on chargeback process initiation requests received from the Issuer. This API does not represent any financial transactions generated as part of the dispute flow.

Permitted JSON:API resource operation:

GET /disputeCases :

Retrieve specific or all dispute cases.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
caseNumber
string (11)

The BankWORKS DMS Case Number.

externalCaseNumber
string (23)

An external dispute management system reference value used for third party case reference if needed.

disputeAmount
object

The disputed amount.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

settlementAmount
object

The settlement amount and currency in the acquirer original setup.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

lastUpdated
date-only

The date of the last action taken on the case.

caseType
string (3)

Indicates the type of dispute transaction such as retrieval request, Pre-Arbitration, Arbitration, etc…

Refer to BankWorks (API) Data Mapping documentation for possible values.

caseStatus
string (3)

Indicates the current status of the case.

Refer to BankWorks (API) Data Mapping documentation for possible values.

reason
string (3)

Reason depending on card organisation.

Refer to BankWorks (API) Data Mapping documentation for possible values.

transactionDate
date-only

The date the dispute was loaded in BankWORKS.

centralDate
date-only

Central processing date of transaction by card organization.

daysToCardSchemeDeadline
number

Indicates the remaining days of the dispute case deadline of the card scheme.

daysToAction
number

Represents the amount of days left before the merchant action deadline is reached.

cardOrganisation
string (3)

Card network through which the dispute is being handled.

Refer to BankWorks (API) Data Mapping documentation for possible values.

chargebackReason
string (3)

The last chargeback reason of the case. Applicable only where the case type is chargeback. For Discover, this also applies for pre-arbitration and arbitration.

Refer to BankWorks (API) Data Mapping documentation for possible values.

retrievalReason
string (3)

Indicates the last retrieval reason of the given case, unless the case already has a chargeback. In Discover’s case, the same exception applies if the case has a pre-arbitrartion or arbitration.

Refer to BankWorks (API) Data Mapping documentation for possible values.

disputeCondition
string (3)

Indicates the lastest dispute condition. Please note this only applies for Visa.

Refer to BankWorks (API) Data Mapping documentation for possible values.

escalatedFlag
boolean

Indicates whether the case has been escalated.

Relationships
{id}/merchant
of type /merchants

BankWORKS merchant information

{id}/presentment
of type /presentments

Relationship to the original purchase transaction on which the dispute orginated. This relationship allows retrieval of original presentment details.

{id}/disputeCaseHistory

Dispute case history.

{id}/disputeCaseActions

Dispute case related actions.

/disputeCaseActions

Format: JSON:API Resource

A resource representing a variety of actions that are possible on cases. Actions applicable to cases depend on factors such as the case status, the previous actions committed etc. To retrieve a list of actions available for a particular case, use the /disputeCases resources and retrieve the actions via the available relationship. Accessible through a relationship only.

Name Description
actionId
string (3)

Indicates the action type.

Refer to BankWorks (API) Data Mapping documentation for possible values.

evidenceRequired
string (3)

Indicates if documentation is required with this action. Possible values are:

  • 000 means No
  • 001 means Yes
  • 003 means Conditional
feeConfirmation
boolean

Indicates if a fee will be incurred as part of the action (e.g. arbitration).

requiresDate
boolean

Indicates whether the planned refund date required for this action.

notesRequired
string (3)

Indicates if notes are required with this action. Possible values are:

  • 000 means No
  • 001 means Yes
  • 003 means Conditional

/disputeCaseHistory

Format: JSON:API Resource

A resource representing a history of actions performed on all available cases.

Permitted JSON:API resource operations:

POST /disputeCaseHistory :

Request to add new action/s based on current case status and dispute case action setup. Document attachments (106) should only be allowed if the evidenceRequired of the main actions is either 001 (Yes) or 003 (Conditional/Optional).

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

GET /disputeCaseHistory :

Only find one specific case history is implemented. This will be solely used for document retrievals.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
recordDate
date-time

The date and time when the particular case action was recorded.

sundryHistoryId
string (11)

A unique action history identifier. Automatically increments with every action taken and unique for all cases.

caseType
string (3)

Indicates the type of dispute transaction such as retrieval request, Pre-Arbitration, Arbitration, etc…

Refer to BankWorks (API) Data Mapping documentation for possible values.

caseStatus
string (3)

Indicates the status of every case history record.

Refer to BankWorks (API) Data Mapping documentation for possible values.

ruleAction
string (3)

Indicates the action taken for a particular case.

Refer to BankWorks (API) Data Mapping documentation for possible values.

noteText
string (500)

User entered note on action taken.

feeConfirmation
boolean

Indicates whether the merchant accepted the amount to be paid for this action.

document
string

File evidence document in any format provided that matched up to the fileExtension attribute. This should be in base 64 encoded representation.

For retrieval, this is an on-demand attribute i.e. not retrieved automatically but only retrieved if specified as an included field.

documentName
string

Document name provided by the merchant.

descriptiveDocName
string

An autogenerated name which guarantee the uniqueness among in all files that are being uploaded.

fileExtension
string

This is the file extension of the document provided (e.g. jpg, pdf, etc…).

riskAccepted
boolean

Indicates whether the merchant accepted the risk even the days to action equal to 0.

plannedRefundDate
date-only

The date in ISO 8601 format when the actual refund date will be carried out.

Relationships
{id}/disputeCase
of type /disputeCases

POSTABLE only. To link to case when taking an action.

{id}/disputeCaseAction

POSTABLE only. To link to case action when taking an action.

/feeRules

Format: JSON:API Resource

Institution and broker specific client tariff templates and definition setup used for the generation of acquiring transaction fees and charges. Fee rules uses an effectiveDate to indicate when the rule comes into effect. Fee rules are grouped into templates.

Permitted JSON:API resource operation:

GET /feeRules :

Retrieve a list of all client tariff templates and definitions.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
recordIdNumber
string (10)

Generated by API. This id of the client tariff template is used when posting a new client tariff definition.

feeCategory
string (3)

Three fee types represented under a client tariff such as account, service and device fees.

Refer to BankWorks (API) Data Mapping documentation for possible values.

effectiveDate
date-only

Date when the client fee becomes effective.

feeTransactionType
string (3)

The transaction type of the generated fee.

Refer to BankWorks (API) Data Mapping documentation for possible values.

feeMinimum
object

Indicates the minimum value that can be charged for the account if the feeBase and feePercent values are LOWER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMaximum
object

Indicates the maximum value that can be charged for the account if the feeBase and feePercent values are GREATER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

accountCurrency
string (3)

Currency in SWIFT format of the account on which the account fees are applied. In cases where value consists of 3 digits:

  • 998 means not applicable
  • 999 means applicable to all currencies
accountTypeId
string (3)

Defines the type of account on which the fees are applied.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientFeeId
string (6)

The transaction type of the generated fee, eg Card Subscription Fee, Account Maintenance Fee.

Refer to BankWorks (API) Data Mapping documentation for possible values.

feePercent
number

The percentage value used to generate the fee for account fee trigger setup. Maximum allowed length (including decimal point) is 11.

feeBase
object

The standard amount generated for the account fee. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

serviceContractId
string (3)

The service contract to which fee rules applies.

Refer to BankWorks (API) Data Mapping documentation for possible values.

serviceId
string (3)

Service to which the client fee applies.

Refer to BankWorks (API) Data Mapping documentation for possible values.

tierLevel
string (3)

Enables the setting up of the same fee but with a different trigger value high and low.

Refer to BankWorks (API) Data Mapping documentation for possible values.

triggerRuleId
string (3)

Defines a set of rules related to the generic fee.

Refer to BankWorks (API) Data Mapping documentation for possible values.

conditionSet
string (6)

Tariff enables to set up client fees within the service contract eg Blended Pricing, IC++ Pricing etc.

Refer to BankWorks (API) Data Mapping documentation for possible values.

Relationships
{id}/templateRule
of type /feeRules

Links to the parent client tariff based rule. Applicable for POST in order to identify original parent recordIdNumber.

/fundingClients

Format: JSON:API Resource

Represents the institution’s funding banks stored for defining funding information for merchant settlement.

Permitted JSON:API resource operation:

GET /fundingClients :

Get a list of all funding clients available for the institution regardless of status. It is possible to filter the returned results as required by using the available attributes.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
clientNumber
string (8)

8-digit BankWORKS client number unique that is unique per institution.

status
string (3)

Indicates the current status of the client record.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientType
string (3)

Indicates the BankWORKS client type applicable for the funding client record.

Refer to BankWorks (API) Data Mapping documentation for possible values.

companyName
string (35)

The funding client’s company name.

registrationNumber
string (15)

The funding client registration number.

ourReference
string (20)

A reference number used for clearing purposes.

Relationships
{id}/settlementPackages

Client settlement information being funded by this client.

/kycClients

Format: JSON:API Resource

A resource representing private individuals stored in BankWORKS for KYC and AML purposes.

Permitted JSON:API resource operations:

GET /kycClients :

Retrieve all KYC/AML clients that are stored in BankWORKS.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /kycClients :

Create a new KYC/AML client. It could be link to any available ISO in BankWORKS.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /kycClients/{id} :

Modify the KYC/AML details given the KYC/AML client resource id.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

Name Description
clientStatus
string (3)

Indicates the status of KYC/AML client. If not provided will be defaulted to 001 (Active). Examples include:

  • 001 (Active)
  • 002 (Dormant)
  • 003 (Suspended)
  • 004 (Closed).

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientType
string (3)

Defines the type of client record. For example, a business owner.

Refer to BankWorks (API) Data Mapping documentation for possible values.

title
string (3)

Indicates the KYC/AML client salutation. If not provided will be defaulted to 000 (n/a). Examples include:

  • 000 (N/A)
  • 001 (Mr)
  • 002 (Mrs) -003 (Miss)

Refer to BankWorks (API) Data Mapping documentation for possible values.

firstName
string (15)

The first name of the private individual.

lastName
string (26)

The last name of the private individual.

dateOfBirth
date-only

The date of birth in ISO 8601 format.

socialSecurityNumber
string (9)

Indicates the unique social security number of the client. The value of this attribute in the response will always be returned in masked format.

Relationships
{id}/merchants
of type /merchants

Merchant resource to which the KYC/AML client is linked to.

{id}/addresses
of type /addresses

The addresses linked to the KYC client.

/mandateInformation

Format: JSON:API Resource

A signed authorization (issued in a paper or electronic format) for SEPA direct debit payment in EURO currency given to the creditor by the debtor. This is a proof of client’s consent to charge their account. One mandate can authorize an indefinite number of recurring payments, a specific number of recurring payments, or a ‘one-off’ payment.

Permitted JSON:API resource operations:

GET /mandateInformation :

Get all the list of all mandates.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /mandateInformation :

Store a new mandate to be linked to settlement information via settlementPackage API.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /mandateInformation/{id} :

Amend a mandate by a given mandate identifier linking the appropriate settlementPackage.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

Name Description
uniqueMandateReference
string (35)

A unique 35-character reference for the signed mandate

instrumentCode
string (3)

Type of the mandate whether it is a business-to-client or business-to-business scheme.

Refer to BankWorks (API) Data Mapping documentation for possible values.

firstOccurrence
string (3)

This will indicate whether the mandate is first occurrence or not. By default it will be set to No (000).

Refer to BankWorks (API) Data Mapping documentation for possible values.

signatureDate
date-only (8)

Date of which the mandate was signed or authorised.

Relationships
{id}/settlementPackages

Bank account settlement information which this mandate belongs to.

/merchants

Format: JSON:API Resource

Represents the institution’s merchants along with general merchant information such as company name and business classification. In a merchant hierarchy, this includes not only the general information of the transacting merchant but also of the top and middle level clients. Each client level would have its own unique identification in BankWORKS which is the clientNumber assigned during creation of this resource.

Permitted JSON:API resource operations:

GET /merchants :

Get a list of all merchants available for the institution regardless of status. It is possible to filter the returned results as required by using the available attributes.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /merchants :

Create a new merchant.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /merchants/{id} :

Amend a single merchant identified by the merchants resource identifier.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /merchants/{id} :

Delete merchant resource for a client that is not yet on-boarded. Deletion of merchant clients is not possible following client on-boarding.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
clientNumber
string (8)

8-digit BankWORKS client number unique that is unique per institution. System generated if not provided during new merchant definition. A unique number must be provided if user defined.

status
string (3)

Indicates the current state of the merchant.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientType
string (3)

Indicates the merchant’s client type. If not provided during merchant creation, it will be defaulted to 002 (Merchant).

Refer to BankWorks (API) Data Mapping documentation for possible values.

shortName
string (26)

Merchant’s short name. If not provided during merchant creation, the tradeName value will be used.

firstName
string (15)

First name of the merchant owner. For the USA market this would be the first name of the owner if the merchant is a sole proprietor. Required for USA merchants with legalForm of 029 - Sole Proprietor.

middleName
string (15)

Middle name of the merchant owner. For USA merchants having a legalform of 029 - Sole Proprietor, the middleName would be used to store the middle initial followed by a full-stop (.) as per the Visa Acquirer Merchant Master File requirements.

lastName
string (26)

Last name of the merchant owner. For the USA market this would be the last name of the owner if the merchant is a sole proprietor. Required for USA merchants with legalForm of 029 - Sole Proprietor.

companyName
string (45)

The merchant company name.

tradeName
string (25)

The name under which the company is trading.

registrationNumber
string (15)

The merchant registration number.

vatRegion
string (3)

Merchant’s VAT region.

Refer to BankWorks (API) Data Mapping documentation for possible values.

language
string (3)

Merchant’s language.

Refer to BankWorks (API) Data Mapping documentation for possible values.

legalForm
string (3)

Related to the legal form of the merchant. Such as:

  • 000 n/a
  • 001 Limited
  • 002 Joint Stock
  • 003 Plc
  • 004 GmbH
  • 005 Societe Anonyme
  • 006 Company
  • 007 Corporation
  • 029 Sole Proprietor

Refer to BankWorks (API) Data Mapping documentation for possible values.

businessClass
string (4)

The ISO 4-digit business classification code.

vatRegistrationNumber
string (15)

Merchant’s VAT number.

ourReference
string (20)

A reference number used for clearing purposes, typically the merchant ID.

domesticMcc
string (4)

The ISO 4-digit domestic merchant category code.

mainContactDetails
object

Object grouping main merchant contact information.

Name Description
title
string (3)

Merchant main contact’s salutation. If not provided will be defaulted to not applicable. Such as:

  • 000 N/A
  • 001 Mr
  • 002 Mrs
  • 003 Miss

Refer to BankWorks (API) Data Mapping documentation for possible values.

contactName
string (35)

Merchant’s main contact.

mobile1
string (15)

Primary mobile phone number.

mobile2
string (15)

Secondary mobile phone number.

serviceTelephone
string (15)

Defines the card acceptor’s customer service telephone number. Required for USA and Canada based merchants.

This value is also required for merchants acquiring MasterCard that do not have a URL (/merchantsAddendum url attribute).

rbsClientNumber
string (20)

External merchant reference number.

website
string (100)

Merchant website address details.

eCommerceIndicator
string (3)

Indicates if the merchant business is eCommerce based or a traditional business.

Refer to BankWorks (API) Data Mapping documentation for possible values.

processingRegion
string (3)

Defines the processing region of the merchant. Used for transaction processing.

Refer to BankWorks (API) Data Mapping documentation for possible values.

taxRegion
string (3)

Merchant’s tax region.

Refer to BankWorks (API) Data Mapping documentation for possible values.

taxCountry
string (3)

The ISO 3-letter country code of the merchant’s country for tax information. In cases where value consists of 3 digits:

  • 000 means not applicable
  • 999 means applicable to all countries
Relationships
{id}/addresses
of type /addresses

The address linked to the merchant. A merchant may be linked to multiple addresses.

{id}/contracts
of type /contracts

Service contract/s related to the merchant.

{id}/accounts
of type /accounts

BankWORKS account/s assigned to the merchant.

{id}/settlementPackages

Bank account settlement information related to the merchant.

{id}/authorisations
of type /authorisations

Authorisation transactions of the merchant.

{id}/merchantAddendum

Additional attributes related to the merchant.

{id}/merchantAddendumUsa

Additional attributes specifically for merchants based in USA.

{id}/merchantAddendumColombia

Additional attributes specifically for merchants based in Colombia.

{id}/clientMappings
of type /clientMappings

All client mappings available related to the merchant.

{id}/originalMerchant
of type /merchants

This is the originating (old) merchant for which this merchant has been moved from. This is only done via PATCH request. Please see Merchant Entity Move use case for proper usage.

{id}/clientRelations

All virtual links related to the merchant.

{id}/merchantTaxStatus

All tax status records related to the merchant.

{id}/disputeCases
of type /disputeCases

All dispute cases related to the merchant.

{id}/kycClients
of type /kycClients

All KYC/AML clients related to the merchant.

/merchantsAddendum

Format: JSON:API Resource

Resource representing the additional merchant attributes and flags.

Permitted JSON:API resource operations:

GET /merchantsAddendum :

Retrieve all merchant addendum records. This is a generic addendum.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /merchantsAddendum :

To create a new merchant addendum record.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /merchantsAddendum/{id} :

Update a merchant addendum record.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /merchantsAddendum/{id} :

Delete merchantsAddendum resource for a client that is not yet on-boarded. Deletion of merchant addendum details is not possible following client on-boarding.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
seasonalMerchant
string (3)

Flag to indicate if the merchant is a seasonal merchant or not. Such as:

  • 000 No
  • 001 Yes

Refer to BankWorks (API) Data Mapping documentation for possible values.)

feeProgramIndicator
string (3)

The fee program indicator used for the VISA Base 2 clearing file.

visaInterchangeProgram
string (10)

Stores the value of the Visa interchange program value.

visaInterchangeProgramQualification
string (3)

The ISO 3-digits used to determine the tier of the interchange.

mastercardInterchangeProgram
string (10)

Stores the value of the MasterCard AID.

mastercardInterchangeProgramQualification
string (3)

The ISO 3-digits used to determine the tier of the interchange.

socialSecurityNumber
string (9)

This attribute will contain the SSN, and it is required for Discover. It is also required when the taxIdNumberType in the merchantsAddendumUsa will be set to 002 SSN.

The value of this attribute in the response will always be returned in masked format.

vatTaxIndicator
string (6)

Tax tariff that will be charged to merchant related to merchant VAT.

Refer to BankWorks (API) Data Mapping documentation for possible values.

municipalCode
string (7)

The municipality code of the place where the transaction occurred.

merchantCountryOfOrigin
string (3)

Mastercard requirement for government owned merchants. The country of origin for government-controlled merchants must always be populated. This includes when the government-controlled merchant’s home country is the country where the government-controlled merchant is physically located and when the government-controlled merchant’s home country is not the country where the government-controlled merchant is physically located.

The format is in ISO 3-letter country code. E.g. NZL (New Zealand)

Refer to API Data Mapping documentation for account definitions available for the institution.

url
string (76)

The merchant’s main website address.

This value is also required for merchants acquiring MasterCard eCommerce and in case there is no main service telephone number (mainContactDetails.serviceTelephone).

independentSalesOrganisation
string (11)

Independent Sales Organisation ID value provided by Mastercard.

This value is equivalent to the merchantsAddendumUsa.independentSalesOrganisation attribute.

Relationships
{id}/merchant
of type /merchants

Merchant related to the addendum record.

/merchantsAddendumUsa

Format: JSON:API Resource

Resource representing the additional merchant attributes specifically for merchants based in USA.

Permitted JSON:API resource operations:

GET /merchantsAddendumUsa :

Retrieve all USA merchant addendum records.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /merchantsAddendumUsa :

To create a new merchant addendum record for a USA based merchant.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /merchantsAddendumUsa/{id} :

Update a USA merchant addendum record.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /merchantsAddendumUsa/{id} :

Delete merchantsAddendumUsa resource for a client that is not yet on-boarded. Deletion of merchant addendum details is not possible following client on-boarding.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
url
string (76)

Merchant URL information.

independentSalesOrganisation
string (11)

Independent Sales Organisation ID value provided by Mastercard.

This value is equivalent to the merchantsAddendum.independentSalesOrganisation attribute.

taxId
string (9)

TAX ID/TIN number used by the IRS. Requirement of the 1099k form report. This is required when the taxIdNumberType either:

  • 001 EIN
  • 003 ITIN
  • 004 ATIN
taxIdNumberType
string (3)

Indicates the type of TAX ID/TIN number used by the IRS. Requirement of the 1099k form report. When this is set to 002 SSN, the socialSecurityNumber in the merchantsAddendum is required.

information
string (200)

Information about what product/services are sold by the merchant.

visaInternationalAcquirerFeeFlag
string (3)

Flag indicating whether the Visa International Acquirer Fee is to be posted to client rather than institution account. Such as:

  • 000 means institution account
  • 001 means client account
federalTaxTariff
string (6)

Indicates the Federal tax fee tariff.

Relationships
{id}/merchant
of type /merchants

Addendum record for merchant based in USA.

/merchantsAddendumColombia

Format: JSON:API Resource

Resource representing the additional merchant attributes specifically for merchants based in Colombia.

Permitted JSON:API resource operations:

GET /merchantsAddendumColombia :

Retrieve Colombian merchant addendum record.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /merchantsAddendumColombia :

Create new merchant addendum record for Colombia based merchant.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /merchantsAddendumColombia/{id} :

Update Colombian merchant addendum record.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /merchantsAddendumColombia/{id} :

Delete merchantsAddendumColombia resource for client that is not yet on-boarded.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
department
string (3)

Indicates the department code of the merchant that will be used for calculation of merchant tax ReteICA (Municipality Tax).

Refer to BankWorks (API) Data Mapping documentation for possible values.

municipalCode
string (5)

Indicates the municipal code of the merchant that will be used for calculation of merchant tax ReteICA (Municipality Tax).

Refer to BankWorks (API) Data Mapping documentation for possible values.

municipalTaxIndicator
boolean

This is used if the merchant will be charged with the municipality tax (ReteICA).

incomeTaxIndicator
string (6)

Tax tariff that will be charged to merchant related to merchant income (ReteFuente).

vatTaxIndicator
string (6)

Tax tariff that will be charged to merchant related to merchant VAT (ReteIVA).

Relationships
{id}/merchant
of type /merchants

Merchant information related to addendum record.

/merchantClientTariffs

Format: JSON:API Resource

Represents the tariffs (headers), grouping account fees and service fees.

Permitted JSON:API resource operations:

GET /merchantClientTariffs :

Retrieval of all defined client tariff pricing models.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /merchantClientTariffs :

Clone the source template tariff for modification.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /merchantClientTariffs/{id} :

Amend the description of the new tariff or set isProcessed to true in order to process it.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /merchantClientTariffs/{id} :

Delete the unprocessed tariff.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
serviceContractId
string (3)

The service contract to which the account fee applies.

Refer to BankWorks (API) Data Mapping documentation for possible values.

tariffId
string (6)

Broker client tariff identifier that is unique per service contract and institution.

description
string

Descriptive name of the tariff. Up to 25 characters.

processed
boolean

Indicates if this tariff has been processed or not. This cannot be changed if it has already been processed.

Relationships
{id}/sourceTemplate

The source tariff to be cloned for modification. The tariff must be processed.

{id}/clientTariffRules

Client tariff rules that are linked to this broker tariff.

/merchantTaxStatus

Format: JSON:API Resource

Resource that indicates the tax types assigned to the merchant and their current status.

Permitted JSON:API resource operations:

GET /merchantTaxStatus :

Retrieve the merchant tax status records. A merchant may have multiple tax types assigned.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /merchantTaxStatus :

To create new merchant tax status record or amend an existing record by inserting a fresh record superseding the existing one.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /merchantTaxStatus/{id} :

Update merchant tax status record that is not yet onboarded or a future effective record. In order to modify a current merchant tax status, a new record needs to be created using POST request having a future dated effectiveDate value.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /merchantTaxStatus/{id} :

Delete merchant tax status resource for a client that is not yet onboarded or future effective records.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
taxType
string (3)

Indicates the type of merchant tax.

Refer to BankWorks (API) Data Mapping documentation for possible values.

taxStatus
string (3)

Indicates the current status of merchant tax type.

Refer to BankWorks (API) Data Mapping documentation for possible values.

effectiveDate
date-only

The date in ISO 8601 format on which the merchant tax status record becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, posting date value is assumed.

expiryDate
date-only

The date in ISO 8601 format when the merchant tax status can no longer be used.

recordDate
date-only

The date in ISO 8601 format on which the merchant tax status record is created. Defaulted to the current posting date when a new record is created

Relationships
{id}/merchant
of type /merchants

Merchant information related to merchant tax status record.

/merchantTransactionTariffs

Format: JSON:API Resource

Represents the tariffs (headers), grouping account fees and service fees.

Permitted JSON:API resource operations:

GET /merchantTransactionTariffs :

Retrieval of all defined client tariff pricing models.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /merchantTransactionTariffs :

Clone the source template tariff for modification.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /merchantTransactionTariffs/{id} :

Amend the description of the new tariff or set isProcessed to true in order to process it.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /merchantTransactionTariffs/{id} :

Delete the unprocessed tariff.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
serviceContractId
string (3)

The service contract to which the account fee applies.

Refer to BankWorks (API) Data Mapping documentation for possible values.

tariffId
string (6)

Broker client tariff identifier that is unique per service contract and institution.

description
string

Descriptive name of the tariff. Up to 25 characters.

processed
boolean

Indicates if this tariff has been processed or not. This cannot be changed if it has already been processed.

Relationships
{id}/sourceTemplate

The source tariff to be cloned for modification. The tariff must be processed.

{id}/transactionTariffRules

Transaction tariff rules that are linked to this broker tariff.

/merchantVelocityParameters

Format: JSON:API Resource

Represents merchant velocity limits rules. Velocity parameter setup can be at contract-level, which entails that the rule is automatically applied to merchants that are assigned the particular contract definition. Individual merchant rules apply to individual merchants only. Velocity parameter setup can be applied to a single merchant service or all merchant services.

Permitted JSON:API resource operations:

GET /merchantVelocityParameters :

Get a complete listing of merchant velocity parameters available for the institution. Both contract-level and individual merchant setup is returned. It is possible to filter by the available resource attributes.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /merchantVelocityParameters :

Create a new individual merchant velocity parameter. Contract-level velocity parameter setup cannot be created.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /merchantVelocityParameters/{id} :

Amend an existing individual merchant velocity parameter. Contract-level velocity parameter setup cannot be amended.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /merchantVelocityParameters/{id} :

Delete an individual merchant velocity parameter identified by the resource ID. Contract-level rules cannot be deleted.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
dailyLimitAmount
object

Total amount of transactions allowed for this velocity parameter within a 24-hour period. Note that the limit amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

dailyLimitFrequency
number

Total number of transactions allowed for this velocity parameter within a 24-hour period.

maximum: 99999999

singleTransactionLimit
object

Maximum transaction amount allowed for a single transaction for this velocity parameter. Note that the limit amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

notificationPercent
number

The percentage of the limit after which, notifications should be considered.

maximum: 99

notificationPercentInterval
number

The percentage interval upon which the notification is triggered.

maximum: 99

transactionType
string (3)

Indicates the type of transaction that the velocity parameter is applicable to.

Refer to BankWorks (API) Data Mapping documentation for possible values.

transactionCurrency
string (3)

Indicates the transaction currency the velocity parameter applies to. The transaction currency is in 3-letter ISO SWIFT format. Value 999 is not allowed. In cases where value consists of 3 digits:

  • 998 means not applicable
cardBrand
string

Indicates the card brand the velocity parameter applies to. This works in conjunction with the related merchant service. A value of 999, indicating that the velocity rule applies to all card brands is also acceptable.

Refer to BankWorks (API) Data Mapping documentation for possible values.

countryGroup
string

Identifies the country grouping the velocity parameter applies to. The country grouping is a virtual group of countries that is defined to classify a number of countries under a common banner, for example high risk countries, blocked countries etc.

Refer to BankWorks (API) Data Mapping documentation for possible values.

isContractParameter
boolean

Indicates if the merchant velocity parameter is a contract level rule, part of the service contract setup, or a merchant specific rule.

allServices
boolean

Indicates if the rule applies to all merchant services or not.

Relationships
{id}/services
of type /services

Services that the merchant velocity parameter is applicable to. Services are returned regardless of their effectiveDate value.

{id}/contracts
of type /contracts

Contracts that the merchant velocity parameters is applicable to. Contracts are returned regardless of their effectiveDate value.

/miscellaneousBatches

Format: JSON:API Resource

A resource representing miscellaneous acquirer batch input, batch transactions. Batches are linked to the institution client and have a processingStatus indicating the current state of the batch. More information on the processingStatus is available in the attribute description. A batch requires transactions to be linked to it in order to be approved for processing. These individual transactions linked to a batch can be defined in /miscellaneousBatchSlips and linked to the batch transaction by specifying the batch ID in the relationship of the transaction.

Permitted JSON:API resource operations:

GET /miscellaneousBatches :

Retrieval of all batches available regardless of processing status.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /miscellaneousBatches :

Creation of a new batch. This would have an Entered status (007) and would require the individual transactions part of this batch to be defined prior to Approving (status 008) for processing. Refer to /miscellaneousBatchSlips for more info on the resource dedicated to the individual transactions.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /miscellaneousBatches/{id} :

To modify properties of a batch. Can only be accepted if the batch processingStatus (TRANSACTION_STATUS) is NOT In Process (001) / Loaded (005).

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /miscellaneousBatches/{id} :

To delete the properties of a batch. Can only be accepted if the batch processingStatus (TRANSACTION_STATUS) is NOT In Process (001) / Loaded (005).

There are 2 options that will need to be looked as to how a batch can be deleted: - Either sending a DELETE request on the batch which results in WSM deleting the linked transactions as well - Otherwise, only allowing the DELETE of the batch if there no linked transactions (transactions would have to be deleted individually)

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
transactionSlip
string

Auto-generated transaction slip as reference.

numberOriginalSlip
string (11)

Free text reference up to 11 characters. This field can be used to refer to an external (outside of BankWORKS) transaction. If this is null/empty, it will be generated similar with transactionSlip.

transactionType
string (3)

It will be determine on approval of the batch.

Either ‘950’ (Misc. DR transaction) or ‘951’ (Misc. CR transaction) depending on the overall balance after summing up the transactions in the batch which could result in an overall Debit or Credit amount.

The totalBatchAmount attribute documentation highlights how the overall balance of a batch can be determined.

processingStatus
string (3)

The processing status indicates the current state of the batch. A batch initially has an Entered (007) status.

An Error (003) status indicates potential issues with the batch / transaction input. This would require amendment of the batch or transaction to correct the problem and re-approval of the batch to close it for processing.

Once a batch of transactions is successfully processed, the processingStatus will indicate a value of Loaded (005).

totalBatchAmount
object

If it is 0, the totalBatchAmount can be calculated by calculating the Sum of transactionAmountGross values provided in the slips. This should be done upon sending a PATCH request to set the processingStatus to ‘008’, as this would indicate that all the required slips have been entered and linked to the batch.

In order to calculate this amount the following need to be considered: -Transaction amount of the individual slips -Transaction type of each slip. The transaction type determines the respective DR/CR indicator. To determine if a transaction is a debit or credit AT DESTINATION, the BWT_BATCH_TRANSACTIONS entry will need to be checked with the equivalent in BWT_BATCH_TRANSACTIONS in order to retrieve the DESTINATION_SIGN. The first character of the DESTINATION_SIGN field indicates whether the transaction will be a C (Credit) or D (Debit) at destination. -Finally once the amount is converted to the destination sign. The REVERSAL_FLAG value must be considered. A credit (plus) to the merchant account that is reversed (REVERSAL_FLAG = 001) results in a debit to the merchant account (minus) and vice versa.

Alternatively, if provided, the totalBatchAmount Value must match with the Sum of the slip amounts provided. This value would be validated when approving the transaction for processing by setting processingStatus to ‘008’.

Total Batch Amount currency, indicates the currency of the batch. Any transactions linked to the batch must match with this batch currency.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

numberOfSlips
number

If not provided, the number of slips can be calculated on the number of individual transaction slips provided in the slips list.This should be done upon sending a PATCH request to set the processingStatus to ‘008’, as this would indicate that all the required slips have been entered and linked to the batch. Alternatively, if provided, the numberOfSlips value should match with the count of slips provided. This value would be validated when approving the transaction for processing by setting processingStatus to ‘008’

recordDate
date-only

Date on which the batch was created.

Relationships
{id}/transactions

Individual transactions linked to this batch.

/miscellaneousBatchSlips

Format: JSON:API Resource

Represents individual miscellaneous transactions created for adhoc merchant servicing requirements. These individual transactions are batched (batch header is represented by the batch relationship to /miscellaneousBatches. The transactions represented by this resource are not yet processed and posted to merchant accounts. Transactions are processed once the back office miscellaneous batch processing is executed.

Permitted JSON:API resource operations:

GET /miscellaneousBatchSlips :

Retrieval of all individual transactions regardless of the batch the transactions are linked to.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /miscellaneousBatchSlips :

Create an individual transaction added to the batch. Refer to mandatory values and relationship. Note transactions can only be added to a batch if the batch processingStatus is either Entered (007) or Error (003).

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /miscellaneousBatchSlips/{id} :

Modification of an individual transaction properties. Note, transaction can only be modified if the linked batch processingStatus is either Entered (007) or Error (003).

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /miscellaneousBatchSlips/{id} :

Deletion of an individual transaction. Note, transactions can only be deleted if the linked batch has an Entered (007) or Error (003) processingStatus.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
transactionSlip
string (11)

Auto-generated transaction slip as reference.

numberOriginalSlip
string (11)

Free text reference up to 11 characters. This field can be used to refer to an external (outside of BankWORKS) transaction. If this is null/empty, it will be generated similar with transactionSlip.

transactionType
string (3)

Type of transaction i.e. Miscellaneous Debit (950), Miscellaneous Credit (951), etc.

transactionCategory
string (3)

This value is used to identify what category the transaction belongs to, e.g Charges & Fees, Adjustments, etc.

transactionDate
date-only

Date of the transaction. Must be less than or equal to the current posting date.

valueDate
date-only

The date from when action can be taken upon a transaction.

transactionAmountGross
object

The amount of the individual transaction. Must be greater than 0 and the currency value must match with the batch currency!

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

reversalFlag
string (3)

Indicator used to identify if the transaction is reversed or not. Defaulted to 000 (No).

clientNumber
string (8)

Auto-populated based on the related account provided.

cardAlias
string

This information is currently not supported.

cardNumber
string

This entry is currently not supported. Only a relationship to account is required during POST.

narrative
string (30)

Free text reference. If not provided default to the transactionType TEXTUAL description.

recordDate
date-only

Date on which transaction was created.

Relationships
{id}/batch

A transaction must always be linked to a batch.

Note, transaction can only be linked to a batch if changes are allowed, i.e processing status either Entered (007) or Error (003).

{id}/account
of type /accounts

A transaction must always be linked to an account.

/payments

Format: JSON:API Resource

Represents payment transactions (funded deposits). Payment transactions are used to settle BankWORKS accounts against a third party RBS account. Funds may be transferred to and from the third party account, depending on the scenario. For instance to settle a fee account, amounts may be transferred from the third party account towards the fee account, whereas to settle a payment account retail, funds will have to be transferred to the third party account.

Permitted JSON:API resource operation:

GET /payments :

Retrieves all payment transactions that have been cleared.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
paymentDate
date-only

The date in ISO 8601 format of when the transaction was (or will be) sent in the outward instruction file.

fundingDate
date-only

The date in ISO 8601 format of when the transaction was (or will be) actually executed by the external funding system.

transactionType
string (3)

The type of transaction.

  • 002 Interchange Payment
  • 005 Purchase
  • 006 Refund (Credit)
  • etc…

Refer to BankWorks (API) Data Mapping documentation for possible values.

status
string (3)

The transaction status.

  • 001 Entered
  • 002 Posted
  • 003 Error
  • etc…

Refer to BankWorks (API) Data Mapping documentation for possible values.

grossAmount
object

The gross amount to be sent/received to/from the third party RBS account. Note that the gross and net amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

netAmount
object

The net amount to be sent/received to/from the third party RBS account. Note that the gross and net amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

method
string

The type of transfer (such as SEPA or BankTransfers … etc.) in which the transaction was or will be made.

Refer to BankWorks (API) Data Mapping documentation for possible values.

reversalFlag
string

Indicates if the transaction is reversed or not.

  • 000 No
  • 001 Yes
paymentAccountNumber
string (19)

The account number of the third party RBS account in/from which the amounts will be sent/received.

Relationships
{id}/account
of type /accounts

Merchant’s BankWORKS account/s to which the payment transaction is posted.

{id}/presentments
of type /presentments

Presentment transactions settled by the payment.

/paymentInstructions

Format: JSON:API Resource

In BankWORKS, the payment instructions are settlement instruction rules that drive account settlement process. In this regard, payment instructions are very similar to settlementSchemes, the main difference being that payment instructions are defined for a particular merchant account.Payment instructions are defined for a contract group or individual client and may affect a number of different accounts.Payment instructions allow for more fine grained settlement rules to be defined per merchant account.

Permitted JSON:API resource operations:

GET /paymentInstructions :

Get a list of payment instructions.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /paymentInstructions :

Create a new payment instruction.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /paymentInstructions/{id} :

Update existing payment instruction.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /paymentInstructions/{id} :

Delete existing payment instructions record according to paymentInstructionId.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
transactionType
string (3)

Defines the transaction type assigned to the outgoing transaction.

Refer to BankWorks (API) Data Mapping documentation for possible values.

paymentBase
decimal (18)

Fixed base amount applied to the generated payment. Defaulted to zero if not sent.

paymentPercentage
decimal (11)

Percentage amount based on the total payable amount. This is applied to the payment base. Defaulted to zero if not sent.

paymentMinimum
decimal (18)

Minimum amount generated should paymentBase paymentPercentage not reach the minimum threshold. Defaulted to zero if not sent.

paymentMaximum
decimal (18)

Maximum amount generated should paymentBase paymentPercentage go over the mamximum threshold. Defaulted to zero if not sent.

executionCountLimit
int (11)

The total payment instruction execution count limit. This is compared with the execution counter and when the threshold defined is reached, the instruction no longer executes.

notes
string (1300)

Allows a generic text description to be provided with the rule for reference purposes.

paymentCategory
string (3)

Indicates the settlement category of the payment instruction.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clearingChannel
string (3)

Defines the outgoing clearing channel assigned to the payment transactions generated.

Refer to BankWorks (API) Data Mapping documentation for possible values.

trigger
object
Name Description
source
string (6)

Defines the value or event that triggers the payment instruction.

Refer to BankWorks (API) Data Mapping documentation for possible values.

ruleId
string (3)

Groups a set of payment instructions instructions under a trigger rule.

Refer to BankWorks (API) Data Mapping documentation for possible values.

period
string (3)

Defines the execution frequency of the payment instruction rule.

Refer to BankWorks (API) Data Mapping documentation for possible values.

startDate
date-only

Indicates the applicable start date of the payment instruction rule.

endDate
date-only

Indicates the expiry date of the payment instruction rule.

operator
string (3)

The mathematical operator related to the trigger source and values.

valueLow
decimal (18)

Works in relation with the trigger source and trigger operator. The minimum amount that fires the trigger based on the defined trigger source event.

valueHigh
decimal (18)

Works in relation with the trigger source and trigger operator. The maximum amount that fires the trigger based on the defined trigger source event.

executionAmountLimit
decimal (11)

The total limit threshold allowed for the payment instruction rule. This works in conjunction with the executionAmountPaid. Once this limit is reached, the payment instruction rule no longer executes.

executionCounter
decimal (11)

Statistical value, indicates the amount of times the payment instruction has been executed.

executionAmountPaid
decimal (11)

Statistical value, indicates the total amount paid through the execution of the payment instruction.

Relationships
{id}/account
of type /accounts

Accounts which this payment instructions will be applied.

/postingDate

Format: JSON:API Resource

A resource for the retrieval of posting date assigned to the API user. This is an internal date used for API validations, default setting, and processing purposes. This is usually equal to the system date but can also differ to cater for exceptional cases.

Permitted JSON:API resource operation:

GET /postingDate :

Retrieve the posting date of the current user.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
postingDate
date-only

An internal date assigned to the user for validation, default setting, and processing purposes.

/presentments

Format: JSON:API Resource

Represents presentment transactions that originated from a point of service including purchases.

Permitted JSON:API resource operation:

GET /presentments :

Retrieves all presentments.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
status
string (3)

The status of the transaction.

Refer to BankWorks (API) Data Mapping documentation for possible values.

date
date-time

The date and time in ISO 8601 format of when the transaction was entered.

retrievalReference
string

A 12-digit identifier (left padded with zeros) which is unique for the same terminal id and merchant id. The value of the retrievalReference must be unique for each transaction.

transactionType
string (3)

Indicates the type of transaction.

  • 002 Interchange Payment
  • 005 Purchase
  • 006 Refund (Credit)
  • etc…

Refer to BankWorks (API) Data Mapping documentation for possible values.

authCode
string (6)

A unique identifier to the transaction showing that the transaction was authorised.

cardNumber
string (19)

The masked card number of the card used to send/receive funds.

To filter with this field, you will need to use the LIKE operator with wildcard(%25) and the last four digits of the card, together with a filter for other fields if needed..

  • filter[cardNumber][LIKE]=%258906
originalReferenceNumber
string (23)

A reference number loaded from the incoming file. Not applicable in all instances.

externalReference
string

An exterenal reference number which is passed via authorizations.

terminalId
string (10)

A unique identifier of the terminal from which the transaction was initiated.

captureMethod
string (3)

Describes how the transaction was generated from the data capture point of view. Example:

  • 010 Manual
  • 100 Electronic
  • 001 Card swiped, signature
  • etc…
  • Allows default value 999 - ‘All’

Refer to BankWorks (API) Data Mapping documentation for possible values.

valueDate
date-only

The date in ISO 8601 format of when the transaction should be processed.

reversalFlag
string (3)

A flag used to indicate whether the transaction is a reversal or not.

Refer to BankWorks (API) Data Mapping documentation for possible values.

source
string (3)

The source of the transaction from which money are to be extracted to be then sent to the corresponding destination.

Refer to BankWorks (API) Data Mapping documentation for possible values.

cardOrganisation
string (3)

The card organisation such as VISA, MasterCard … etc.

Refer to BankWorks (API) Data Mapping documentation for possible values.

areaOfEvent
string (3)

Defines where the transaction took for example 001 - Foreign.

Refer to BankWorks (API) Data Mapping documentation for possible values.

serviceType
string (3)

Describes the type of card service, eg Debit card, Credit card. Can be replaced by value ‘n/a’.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientNumber
string (8)

Merchant identification linked to the transaction.

transactionAmounts
object
Name Description
gross
object

The gross amount (in the associated currency) to be sent/received by the specified card. Note that the gross, net and charge amount currencies MUST match. Maximum allowed length for the value attribute (including sign and decimal point) is 18.

net
object

The net amount (in the associated currency) to be sent/received by the specified card. Note that the gross, net and charge amount currencies MUST match. Maximum allowed length for the value attribute (including sign and decimal point) is 18.

inCharge
object

The amount charged (in the associated currency) by the institution to the merchant. Note that the gross, net and charge amount currencies MUST match. Maximum allowed length for the value attribute (including sign and decimal point) is 12.

outCharge
object

The amount charged (in the associated currency) by the schemes to the institution. Note that the gross, net and charge amount currencies MUST match. Maximum allowed length for the value attribute (including sign and decimal point) is 12.

feeAmount
object

Represents the surcharge amount in the currency of the original transaction at point of service. This amount is also included in the transactionAmounts.gross total.

settlementAmounts
object
Name Description
gross
object

The gross amount (in the associated currency) to be settled. Note that the gross, net and charge amount currencies MUST match. Maximum allowed length for the value attribute (including sign and decimal point) is 18.

net
object

The net amount (in the associated currency) to be settled. Note that the gross, net and charge amount currencies MUST match. Maximum allowed length for the value attribute (including sign and decimal point) is 18.

inCharge
object

The amount charged (in the associated currency) by the institution to the merchant. Note that the gross, net and charge amount currencies MUST match. Maximum allowed length for the value attribute (including sign and decimal point) is 12.

outCharge
object

The amount charged (in the associated currency) by the external system to the institution. Note that the gross, net and charge amount currencies MUST match. Maximum allowed length for the value attribute (including sign and decimal point) is 12.

accountAmounts
object
Name Description
gross
object

The gross amount (in the associated currency) that was actually posted to the account. Note that the gross, net and charge amount currencies MUST match. Maximum allowed length for the value attribute (including sign and decimal point) is 18.

net
object

The net amount (in the associated currency) that was actually posted to the account. Note that the gross, net and charge amount currencies MUST match. Maximum allowed length for the value attribute (including sign and decimal point) is 18.

charge
object

The amount charged (in the associated currency) to the account. Note that the gross, net and charge amount currencies MUST match. Maximum allowed length for the value attribute (including sign and decimal point) is 12.

sourceSettlement
object

Information related to the batch transaction.

Name Description
transactionSlip
string

Transaction slip number of the source summary transaction.

date-only
date-time

The date and time in ISO 8601 format of when the batch was actually processed.

status
string (3)

The status of the batch transaction.

Refer to BankWorks (API) Data Mapping documentation for possible values.

numberOfSlips
number

The total number of transaction slips within this batch.

maximum: 99999999

gross
object

The gross amount (in the associated currency) to be sent/received within the batch. Note that the gross, net and charge amount currencies MUST match. Maximum allowed length for the value attribute (including sign and decimal point) is 18.

net
object

The net amount (in the associated currency) to be sent/received within the batch. Note that the gross, net and charge amount currencies MUST match. Maximum allowed length for the value attribute (including sign and decimal point) is 18.

inCharge
object

The total amount charged (in the associated currency) by the institution to the merchants within the batch. Note that the gross, net and charge amount currencies MUST match. Maximum allowed length for the value attribute (including sign and decimal point) is 12.

outCharge
object

The total amount charged (in the associated currency) by the schemes to the institution within the batch. Note that the gross, net and charge amount currencies MUST match. Maximum allowed length for the value attribute (including sign and decimal point) is 12.

Relationships
{id}/payment
of type /payments

Relationship to the merchant settlement (payments resource) transaction settling the presentment.

{id}/postingAccount
of type /postingAccount

Relationship to the merchant account resource where the batch header transaction is posted.

/productChargeDefinitions

Format: JSON:API Resource

Institution and merchant specific product fee setup used for the generation of acquiring product fees and charges. Product charge setup uses an effectiveDate to indicate when the rule comes into effect. Product charge rules are grouped into tariffs and further grouped by contractDefinition.

Permitted JSON:API resource operation:

GET /productChargeDefinitions :

Retrieve a list of all merchant product charge rules.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
serviceContractId
string (3)

A package of services to which the transaction charges apply.

Refer to BankWorks (API) Data Mapping documentation for possible values.

isContractFee
boolean

Boolean value indicating if the fee is a contract fee, i.e institution default setup or not, i.e a client specific override.

clientTariff
string (3)

Tariff enables to set up transaction charges within the service contract eg Regular, VIP etc.

Refer to BankWorks (API) Data Mapping documentation for possible values.

chargeType
string (3)

The type of fee such as a commission.

Refer to BankWorks (API) Data Mapping documentation for possible values.

feeCategory
string (3)

The type of transaction charge, eg Transaction Fee, Interchange Plus.

Refer to BankWorks (API) Data Mapping documentation for possible values.

effectiveDate
date-only

The date in ISO 8601 format when the product charge definition becomes effective.

expiryDate
date-only

The date in ISO 8601 format when the product charge definition can no longer be used.

chargeTierLevel
string (3)

User specified labels for charge tiers.

Refer to BankWorks (API) Data Mapping documentation for possible values.

transactionType
string (3)

The transaction type on which the charge can be applied. Can also indicate all transactions.

Refer to BankWorks (API) Data Mapping documentation for possible values.

transactionCurrency
string (3)

SWIFT value indicating the transaction currencies on which the product charge can be applied. In cases where value consists of 3 digits, 998 means not applicable and 999 means applicable to all currencies.

sourceTransactionType
string (3)

Defines the transaction type assigned to source summary transactions generated during phase 2.

Refer to BankWorks (API) Data Mapping documentation for possible values.

areaOfEvent
string (3)

Defines where the transaction took place,

Refer to BankWorks (API) Data Mapping documentation for possible values.

captureMethod
string (3)

Describes how the transaction was generated from the data capture point of view. Example:

  • 010 Manual
  • 100 Electronic
  • 001 Card swiped, signature
  • etc…

Refer to BankWorks (API) Data Mapping documentation for possible values.

feeId
string (3)

Values used for card scheme outward files and merchant statement generation.

Refer to BankWorks (API) Data Mapping documentation for possible values.

feePercent
number

The percentage value used to generate the fee for product based on fee trigger setup. Maximum allowed length (including decimal point) is 11.

feeBase
object

The standard amount generated for the product fee. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMinimum
object

Indicates the minimum value that can be charged for the product if the feeBase and feePercent values are LOWER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMaximum
object

Indicates the maximum value that can be charged for the product if the feeBase and feePercent values are GREATER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMode
string (3)

Suppress or generate the fee.

Refer to BankWorks (API) Data Mapping documentation for possible values.

mathOperator
string (3)

Refer to BankWorks (API) Data Mapping documentation for possible values.

roundingMode
string (3)

Refer to BankWorks (API) Data Mapping documentation for possible values.

numberOfDays
number (3)

maximum: 999

postingMethod
string (3)

Defines if the fee is generated as a separate transaction (Gross + Charges) or applied to the transaction (Net).

Refer to BankWorks (API) Data Mapping documentation for possible values.

serviceId
string (3)

Service to which the transaction charge applies.

Refer to BankWorks (API) Data Mapping documentation for possible values.

serviceType
string (3)

Describes the type of card service the fee definition applies to. It can be n/a.

Refer to BankWorks (API) Data Mapping documentation for possible values.

plIndInward
string (3)

The transaction type of the fee set up as an inward charge.

Refer to BankWorks (API) Data Mapping documentation for possible values.

plIndOutward
string (3)

The transaction type of the fee set up as an outward charge.

Refer to BankWorks (API) Data Mapping documentation for possible values.

valueDayReference
string (3)

Determines the value date of the transaction on which the charge is applied.

Refer to BankWorks (API) Data Mapping documentation for possible values.

/riskRuleParameters

Format: JSON:API Resource

Represents the contract (default) and client-overriden parameters or limits used by risk rules. Example risk parameters are single transaction limit, and daily OCT amount limit. This can be applied to a merchant client.

Permitted JSON:API resource operations:

GET /riskRuleParameters :

Returns resources for both contract and client-defined risk rule parameters.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /riskRuleParameters :

Creates a new client risk rule parameter.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /riskRuleParameters/{id} :

Modifies a client risk rule parameter in present or future effective only.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /riskRuleParameters/{id} :

Deletes a client risk rule parameter which has not taken effect yet (future-effective).

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
recordId
string (15)

The identifier generated which is unique for every record.

ruleParameter
string (6)

The risk rule parameter for which the risk rule applies to.

isContractRule
boolean

This flag will indicate whether the risk rule parameter is a contract-generated (true) or client-defined (false).

clientId
number

The identifier generated for client-defined risk rule parameters.

effectiveDate
date-only

The date in ISO 8601 format when the risk parameter will take into effect.

expiryDate
date-only

Expiry date of risk rule parameter in ISO 8601 format.

value
string

The risk rule value applied for the specified rule parameter. Value format varies depending on the rule parameter’s data type.

Refer to BankWorks (API) Data Mapping documentation for possible values.

Example:

  • ruleParameter: 000001 - data type: Amount - format: with decimal place.

  • ruleParameter: 000002 - data type: Number - format: integer only without decimal place

currency
string (3)

The risk rule currency to be specified in case rule parameter requires an amount value. This should be in 3-letter ISO SWIFT format.

Example: USD, EUR

description
string (3)

Free-text description for the risk rule parameter.

recordDate
date-only (3)

The date in ISO 8601 format on which the risk rule parameter record is created. Defaulted to the current posting date when a new record is created.

Relationships
{id}/contracts
of type /contracts

Merchant contract/s for which the rule parameter applies to.

/serviceDefinitions

Format: JSON:API Resource

Represents the services defined for the institution with any service contract specific information. The services available for assignment to clients would be dictated by the client contract. In order to view the services assigned to clients refer to services. Services are grouped by a service category.

Permitted JSON:API resource operation:

GET /serviceDefinitions :

Retrieve all available services.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
serviceId
string (3)

A user specified label for a card product or a group of card brands.

Refer to BankWorks (API) Data Mapping documentation for possible values.

cardBrand
string (3)

The card brand of the card product resource.

Refer to BankWorks (API) Data Mapping documentation for possible values.

cardOrganization
string (3)

The card organisation of the card based product.

Refer to BankWorks (API) Data Mapping documentation for possible values.

effectiveDate
date-only

The date in ISO 8601 format when the record becomes effective and can be used.

serviceType
string (3)

Card service type (debit card, credit card, charge card). For issuer services only.

Refer to BankWorks (API) Data Mapping documentation for possible values.

serviceCategory
string (3)

Based on business - Acquirer, Issuer, Device, Clearing, Other.

Refer to BankWorks (API) Data Mapping documentation for possible values.

serviceBeneficiary
string (3)

Specifies the client level benefetting from the service, for example merchant client, billing level. Such as one of:

  • 001 Member Client
  • 002 Billing level
  • 003 not applicable
  • 004 Grp Yes, Acct Yes
  • 005 Grp Yes, Acct Option

Refer to BankWorks (API) Data Mapping documentation for possible values.

noteText
string (3)

Free text notes on the service definition.

maximum: 999

Relationships
{id}/deviceFeeDefinitions

Contract-based or individual device fee record related to services of the client under a service contract.

/serviceFeeDefinitions

Format: JSON:API Resource

Retrieval of miscellaneous service fee setup of an institution including client specific overides. Service fee setup uses an effectiveDate to indicate when the rule comes into effect.

Permitted JSON:API resource operation:

GET /serviceFeeDefinitions :

Retrieve a list of all miscellaneous service fee rules.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
chargeType
string

Charge type for the service fee.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientFeeId
string (6)

The transaction type of the generated fee, eg Card Subscription Fee, Account Maintenance Fee.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientTariff
string (3)

Tariff package for the service fee.

Refer to BankWorks (API) Data Mapping documentation for possible values.

isContractFee
boolean

Boolean value indicating if the fee is a contract fee, i.e institution default setup or not, i.e a client specific override.

effectiveDate
date-only

Date in ISO 8601 format when the fee becomes live and can be used.

expiryDate
date-only

Date in ISO 8601 format when the fee expires and no longer applies.

feeTransactionType
string (3)

The transaction type of the generated fee.

Refer to BankWorks (API) Data Mapping documentation for possible values.

feeBase
object

The standard amount generated for the service fee. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMinimum
object

Indicates the minimum value that can be charged for the service if the feeBase and feePercent values are LOWER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMaximum
object

Indicates the maximum value that can be charged for the service if the feeBase and feePercent values are GREATER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feePercent
number (3)

The percentage value used to generate the fee for service based on fee trigger setup. Maximum allowed length (including decimal point) is 11.

feeMode
string (3)

Suppress or generate the fee.

Refer to BankWorks (API) Data Mapping documentation for possible values.

fixedPeriod
number

Number of days due after the periodReference.

maximum: 999

triggerRuleId
string (3)

Defines a set of rules related to the generic fee.

Refer to BankWorks (API) Data Mapping documentation for possible values.

triggerSource
string (3)

Defines the value or event that triggers the fee process, eg new service.

Refer to BankWorks (API) Data Mapping documentation for possible values.

triggerValueLow
object

Used by trigger sources requiring values, for Overdue amount > 500. Note that all trigger amount currencies MUST match. Maximum allowed length (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

triggerValueHigh
object

Used by trigger sources requiring maximum values, for example tiered fees. Note that all trigger amount currencies MUST match. Maximum allowed length (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

triggerOperator
string (3)

Sign operator related to trigger source and trigger value.

Refer to BankWorks (API) Data Mapping documentation for possible values.

triggerPeriod
string (3)

Defines when and how often the fee process is run, eg Daily, End of Cycle etc.

Refer to BankWorks (API) Data Mapping documentation for possible values.

objectLevel
string (3)

Defined for which level the service fee or account fee is being generated, eg Level, Group Level, First Service, Supplementary Service.

Refer to BankWorks (API) Data Mapping documentation for possible values.

periodReference
string (3)

Determines the value date of the fee, eg. Posting Date.

Refer to BankWorks (API) Data Mapping documentation for possible values.

postFeeToSource
string

Refer to BankWorks (API) Data Mapping documentation for possible values.

referenceOperator
string (3)

Sign operator related to fixedPeriod following the periodReference.

Refer to BankWorks (API) Data Mapping documentation for possible values.

reportForm
string (3)

Information used for statement generation purposes.

Refer to BankWorks (API) Data Mapping documentation for possible values.

tierLevel
string (3)

Applies fee to a tier level. Enables the setting up of the same fee but with a different trigger value high and low.

Refer to BankWorks (API) Data Mapping documentation for possible values.

serviceContractId
string (3)

The service contract to which the service fee applies.

Refer to BankWorks (API) Data Mapping documentation for possible values.

/services

Format: JSON:API Resource

Represents service assignments to BankWORKS clients, such as merchants. Client services are based on a service definition which acts as a ‘blueprint’. The service definitions available for a given client are dictated by the service contract assigned to that client, represented by contracts.

Permitted JSON:API resource operations:

GET /services :

Retrieve a list of all assigned services for clients.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /services :

Create a new client service linked to the client contract. Service must be linked with serviceDefinition upon which it is based. Can be used to create future effective changes to a current service record.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /services/{id} :

Update existing client settlement information.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /services/{id} :

Delete service resource for a client that is not yet onboarded or future effective service records.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
clientNumber
string

The BankWORKS 8-digit client number.

groupNumber
string

Indicates the client hierarchy group the service relates to. Refer to contracts relationship below for linking service to contract.

serviceId
string

BankWORKS service identifier.

Refer to BankWorks (API) Data Mapping documentation for possible values.

serviceCategory
string (3)

Indicates the service category of the client service.

Refer to BankWorks (API) Data Mapping documentation for possible values.

status
string (3)

Indicates the current status of the client service.

Refer to BankWorks (API) Data Mapping documentation for possible values.

effectiveDate
date-only

The date in ISO 8601 format when the client service becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, posting date +1 value is assumed only post-boarding.

expiryDate
date-only

The date in ISO 8601 format when the client service expires and no longer applies.

clientTariff
string (6)

Indicates the applicable transaction charge rules. The tariff only applies if the related merchant contract does not have a transactionChargesTariff value of “000000”. Defaults to “000000” if not provided. Applicable only to card based acquiring services. For miscellaneous service tariff, refer to the contracts resource.

Refer to BankWorks (API) Data Mapping documentation for possible values.

reviewDate
date-only

Indicates the service revision date in ISO 8601 format.

Relationships
{id}/serviceDefinitions

Instituion’s service definition setup applicable for the client service.

{id}/contracts
of type /contracts

Service contracts that this service relates to.

{id}/productChargeDefinitions

Product charges applicable for the client service based on the client service tariff.

{id}/serviceFeeDefinitions

Miscellaneous service fees applicable to the client service based on the client contract tariff.

{id}/merchantVelocityParameters

Merchant velocity parameters that apply to the merchant service.

{id}/devices
of type /devices

POS devices linked to the particular service.

/settlementPackages

Format: JSON:API Resource

Represents third party Retail Banking System (RBS) bank details of clients, general funding banking information necessary to enable the settlement of client accounts and client transactions by the bank’s financial systems. The attributes are grouped as Payables and Receivables used to pay and collect funds from the client. Information must be stored within the payable attributes, as this is the default set used by the system regardless of the direction of funds. Under certain specific circumstances when an account in BankWORKS requires payments and collections instructions to be routed to two different banking accounts, then the payable and receivables attribute groups may be used.

Permitted JSON:API resource operations:

GET /settlementPackages :

Retrieve a list of all settlement details defined.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /settlementPackages :

Define new client settlement information. Either the broker or the merchant must be linked, never both or neither.

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /settlementPackages/{id} :

Update existing client settlement information.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /settlementPackages/{id} :

Delete settlementPackage resource for a client that is not yet on-boarded. Deletion of settlementPackage is not possible following client on-boarding.

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
settlementCategory
string (3)

Settlement information category descriptor such as Payable or Receivable.

accountCurrency
string (3)

The currency of the counter bank account in SWIFT currency code format. In cases where value consists of 3 digits:

  • 998 means not applicable
  • 999 means applicable to all currencies
bankClearingNumber
string (8)

Information regarding the account’s bank details. For USA merchants, this must be a 9-digit value.

contingencyLiabilityAccount
string (11)

The RBS account that is used in case the counter RBS bank account is not able to fullfil the RECEIVABLE obligation.

correspondingBankAccount
string (16)

The NOSTRA/VOSTRO bank account of the affiliate institution.

correspondingBankNumber
string (35)

The bank number of the affiliate institution where the counter bank Nostro/Vostro are domiciled.

receiverCountryCode
string (3)

The country where the bank account information is located. In cases where value consists of 3 digits:

  • 000 means not applicable
  • 999 means applicable to all countries
noteText
string (2000)

Free text notes on the settlement package.

payableDetails
object
Name Description
counterBankAccount
string (35)

The counter RBS bank account number used to settle PAYABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for PAYABLES is domiciled.

paymentReference
string (24)

The reference to be included in the outward payment transaction.

confirmationMethod
string (3)

The routing channel used for example Fax, mail, SWIFT etc.

counterClientNumber
string (8)

The RBS client number used for PAYABLES.

bankTelNumber
string (15)

The counter bank telephone number used for PAYABLES.

bankContactName
string (35)

The counter bank contact name used for PAYABLES.

counterBankName
string (40)

The counter bank name used for PAYABLES.

counterBankAccountName
string (35)

The counter bank account name used for PAYABLES.

counterBankCity
string (35)

The counter bank’s city used for PAYABLES.

ibanReference
string (35)

The counter bank account IBAN used for PAYABLES.

fundingNarrative
string (18)

Contains funding information applicable for PAYABLES.

counterBranchCode
string (20)

The merchant bank branch code used for PAYABLES.

bankAccountType
string (3)

The merchant bank account type used for PAYABLES.

Refer to BankWorks (API) Data Mapping documentation for possible values.

receivableDetails
object
Name Description
counterBankAccount
string (35)

The counter RBS bank account number used to settle RECEIVABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for RECEIVABLES is domiciled.

bankTelNumber
string (15)

The counter bank telephone number used for RECEIVABLES.

bankContactName
string (35)

The counter bank contact name used for RECEIVABLES.

counterBankName
string (40)

The counter bank name used for RECEIVABLES.

counterBankAccountName
string (35)

The counter bank account name used for RECEIVABLES.

counterBankCity
string (35)

The counter bank’s city used for RECEIVABLES.

ibanReference
string (35)

The counter bank account IBAN used for RECEIVABLES.

fundingNarrative
string (18)

Contains funding information applicable for RECEIVABLES.

counterBranchCode
string (20)

The merchant bank branch code used for RECEIVABLES.

bankAccountType
string (3)

The merchant bank account type used for RECEIVABLES.

Refer to BankWorks (API) Data Mapping documentation for possible values.

recordDate
date

The date in ISO 8601 format for when the settlement information record was created.

Relationships
{id}/merchant
of type /merchants

Merchant who owns the settlement information.

{id}/broker
of type /brokers

Broker who owns the settlement information.

{id}/accounts
of type /accounts

Accounts settled by this settlement package.

{id}/fundingClient
of type /fundingClients

Funding bank for this merchant settlement package.

{id}/mandateInformation

SEPA DD mandate information for which the settlement is related to.

/settlementSchemes

Format: JSON:API Resource

Resource representing settlement method setup. The Settlement schemes define a number of rules about how merchant accounts are settled. These definitions are thus used by the settlement and payment generation process.

Permitted JSON:API resource operation:

GET /settlementSchemes :

Retrieve a list of all settlement schemes details defined.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
serviceContractId
string (3)

The service contract package to which the settlement scheme applies.

Refer to BankWorks (API) Data Mapping documentation for possible values.

settlementMethod
string (3)

The tariff used to group the settlement scheme under. Multiple settlement schemes per service contract can be set up.

Refer to BankWorks (API) Data Mapping documentation for possible values.

settlementCategory
string (3)

Used by the payment process to determine the type of settlement, eg Payment request, intra-account settlement.

Refer to BankWorks (API) Data Mapping documentation for possible values.

accountTypeId
string (3)

The applicable account type for this settlement scheme.

Refer to BankWorks (API) Data Mapping documentation for possible values.

accountCurrency
string (3)

Currency in SWIFT format of the applicable account.

transactionType
string (3)

Indicates the type of transaction assigned to the outgoing payment as well as the contra entry.

Refer to BankWorks (API) Data Mapping documentation for possible values.

triggerRuleId
string (3)

Defines a set of rules related to the account.

Refer to BankWorks (API) Data Mapping documentation for possible values.

accountNumber
string (11)

The BankWORKS account to which this settlement scheme applies. This is applicable for client account specific settlement schemes only. Such specific rules would have an isContractRule property value of false.

effectiveDate
date-only

The date in ISO 8601 format when the settlement scheme becomes effective. This applies for individual settlement schemes only (isContractRule false).

isContractRule
string (2)

Defines if the settlement scheme is a generic service contract rule or client account specific.

clearingChannel
string (3)

Defines the outgoing clearing channel assigned to the payment transactions for the purpose of outgoing payment file generation.

Refer to BankWorks (API) Data Mapping documentation for possible values.

percentage
string (3)

The percentage value of the payment which is generated: payment = percentage of trigger source + base amount

base
object

Base amount that is always charged with every payment notification. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

minimum
object

The minimum payment amount that will always be requested in every notification. Maximum allowed length for the value attribute (including decimal point) is 18

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

maximum
object

The maximum payment amount that can be notified in any payment request. Maximum allowed length for the value attribute (including decimal point) is 18

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

roundingMode
string (3)

Defines if rounding used will be up, down or not rounding.

Refer to BankWorks (API) Data Mapping documentation for possible values.

roundingUnit
object

Rounding value. Maximum allowed length for the value attribute (including decimal point) is 11

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

preventDebitBalance
string (3)

Defines level of the account.

Refer to BankWorks (API) Data Mapping documentation for possible values.

paymentDueDetails
object
Name Description
referencePeriod
string (3)

Defines when payments has to be done.

Refer to BankWorks (API) Data Mapping documentation for possible values.

referenceOperator
string (3)

Defines signal of the operation.

Refer to BankWorks (API) Data Mapping documentation for possible values.

numberOfDays
number

Number of days for payment. Maximum value 999.

fullBalanceThreshold
MonetaryAmount

Maximum allowed length for the value attribute (including decimal point) is 18.

trigger
object
Name Description
frequency
string (3)

Period of the cycle, when settlement is going to be triggered.

Refer to BankWorks (API) Data Mapping documentation for possible values.

source
string (3)

Defines what type of trigger.

Refer to BankWorks (API) Data Mapping documentation for possible values.

operator
string (3)

Defines the signal of the operation.

Refer to BankWorks (API) Data Mapping documentation for possible values.

valueHigh
MonetaryAmount

Higher value allowed. Maximum allowed length for the value attribute (including decimal point) is 18.

valueLow
MonetaryAmount

Lower value allowed. Maximum allowed length for the value attribute (including decimal point) is 18.

accountPosting
object
Name Description
referencePeriod
string (3)

Used to determine the posting date in the case of direct debits.

Refer to BankWorks (API) Data Mapping documentation for possible values.

referenceOperator
string (3)

Operator related to number of days after the posting period reference.

Refer to BankWorks (API) Data Mapping documentation for possible values.

numberOfDays
number

Number of days due after the referencePeriod date. Maximum value 999.

ageingThreshold
object
Name Description
amount
MonetaryAmount

The amount that the account holder can leave unpaid while the account is still considered as fully paid. Maximum allowed length for the value attribute (including decimal point) is 18.

startPeriod
string (3)

Defines the date (i.e. end of cycle or payment due date) when the card holder will start to get fined due to late payments.

Refer to BankWorks (API) Data Mapping documentation for possible values.

percent
string (3)

The percentage that the account holder can leave unpaid while the account is still considered as fully paid.

intraAccountDestinationSettlement
object

The attributes within this object are part of the cross-client intra-account settlement functionality which allows every part of the destination account to be specified in the settlement scheme.

Name Description
accountNumber
string (11)

Destination account number

clientNumber
string (8)

Destination client number.

groupNumber
string (8)

Destination group Number.

institutionNumber
string (8)

Destination institution number.

serviceContractId
string (3)

The service contract id of the destination account.

Refer to BankWorks (API) Data Mapping documentation for possible values.

accountTypeId
string (24)

Defines account type of the destination account.

Refer to BankWorks (API) Data Mapping documentation for possible values.

accountCurrency
string (3)

Currency used by the destination account. The currency value is in ISO 3-letter SWIFT format.

Relationships
{id}/contracts
of type /contracts

Contracts which this settlement scheme will be applied.

/transferInstructions

Format: JSON:API Resource

A resource for defining transaction transfer instructions between two BankWORKS accounts. Approved (status 008) instructions are processed which result in a transfer to the destination account and a reversal transaction to the source account. Transaction transfers can be either in full or partial.

Permitted JSON:API resource operations:

GET /transferInstructions :

Retrieval of all sundry transfer instructions regardless of processing status.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /transferInstructions :

Creation of a new sundry transfer instruction. Since an instruction is created here and the actual transfer will be executed when captured by the batch process, if successful, Accepted (202) will be returned as the HTTP response on POST instead of Created (201).

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

PATCH /transferInstructions/{id} :

To modify properties of a sundry transfer instruction. Can only be accepted if the sundry transfer instruction status (SUNDRY_STATUS) is NOT Completed (002).

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

DELETE /transferInstructions/{id} :

To delete the properties of a sundry transfer instruction. Can only be accepted if the sundry transfer instruction status (SUNDRY_STATUS) is NOT Completed (002).

More information on JSON:API resource deletion: https://jsonapi.org/format/#crud-deleting

Name Description
instructionIdNumber
string

Auto-generated transaction slip identifier for the transfer instruction.

sundryType
string (3)

Defaulted to Source Transfer (030) if originalTransactionSlip’s class is source summary information otherwise it is set to Transfer (012).

Refer to BankWorks (API) Data Mapping documentation for possible values.

status
string (3)

The status indicates the current state of the instruction. Defaulted to an Approved (008) status.

Once a sundry transfer instruction is successfully processed, the status will indicate a value of Completed (002)

Refer to BankWorks (API) Data Mapping documentation for possible values.

originalTransactionSlip
string (11)

The transaction slip value of the transaction to be transferred.

transactionAmount
object

Either this amount or accountAmount must be provided. If this amount is provided and it is less than the original slip’s transaction amount, it means that it is a partial transfer.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

accountAmount
object

Either this amount or transactionAmount must be provided. If this amount is provided and it is less than the original slip’s account amount, it means that it is a partial transfer.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

sourceChannel
string (3)

Defines the transaction source channel. Defaulted to Inward on-us (037).

Refer to BankWorks (API) Data Mapping documentation for possible values.

destinationChannel
string (3)

Defines the transaction destination channel. Defaulted to Outward on-us (018).

Refer to BankWorks (API) Data Mapping documentation for possible values.

narrative
string (50)

Free text reference. Either this or notes or both. If not provided default to original slip’s merchant name.

notes
string (100)

Free text reference. Either this or narrative or both.

Relationships
{id}/sourceAccount
of type /accounts

Read only based on the acct number of the original transaction slip.

{id}/destinationAccount
of type /accounts

The write-off, loss, or merchant payment or hold (or any other as needed) account.

{id}/remainderAccount
of type /accounts

Can be provided only in the POST in case of partial transfer. It is not mandatory.

/transactionTariffDefinitions

Format: JSON:API Resource

A new resource that accepts a new set of rules. Related to a transactionTariffTemplates.

Permitted JSON:API resource operations:

GET /transactionTariffDefinitions :

Retrieval of all defined transaction charge tariff definitions.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

POST /transactionTariffDefinitions :

Creation of a new transaction charge tariff. If successful, will returned the HTTP response Created (201).

More information on JSON:API resource creation: https://jsonapi.org/format/#crud-creating

Name Description
serviceContractId
string (3)

The service contract to which the transctioon charges applies.

Refer to BankWorks (API) Data Mapping documentation for possible values.

tariffId
string (6)

Tariff identifier - unique per service contract and institution.

tariffDescription
string

Description of tariff identifier which taken from the account condition set choice table.

chargeRules
object

This is an array of new transaction charges rules that are to be define based on the transaction tariff template.

Name Description
recordIdNumber
string (10)

This is one of the record id number of transaction tariff template that to be use as a template of the new broker transaction tariff definition.

effectiveDate
date-only

Date when the charge fee becomes effective.

feePercent
number

The new percentage value used to generate the fee for product based on fee trigger setup. Maximum allowed length (including decimal point) is 11.

feeBase
object

The new standard amount generated for the product fee. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

feeMinimum
object

The new minimum value that can be charged for the product if the feeBase and feePercent values are LOWER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

feeMaximum
object

The new maximum value that can be charged for the product if the feeBase and feePercent values are GREATER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Relationships
{id}/transactionTariffTemplate

A new merchant tariff should be based on an existing transaction tariff template rule.

/transactionTariffRules

Format: JSON:API Resource

Institution and broker specific transaction tariff and definition setup used for the generation of acquiring transaction fees and charges. Transaction tariff rules uses an effectiveDate to indicate when the rule comes into effect.

Permitted JSON:API resource operations:

GET /transactionTariffRules :

Retrieve a list of all transaction tariff rules and definitions.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

PATCH /transactionTariffRules/{id} :

Modify the charges pertaining to the transaction tariff rule.

More information on JSON:API resource updates: https://jsonapi.org/format/#crud-updating

Name Description
recordIdNumber
string (10)

Genrated by API. This id of the transaction tariff template is used when posting a new transaction tariff definition.

chargeType
string (3)

The type of fee such as a commission.

Refer to BankWorks (API) Data Mapping documentation for possible values.

areaOfEvent
string (3)

Defines where the transaction took place,

Refer to BankWorks (API) Data Mapping documentation for possible values.

captureMethod
string (3)

Describes how the transaction was generated from the data capture point of view. Example:

  • 010 Manual
  • 100 Electronic
  • 001 Card swiped, signature
  • etc…

Refer to BankWorks (API) Data Mapping documentation for possible values.

feePercent
number

The percentage value used to generate the fee for product based on fee trigger setup. Maximum allowed length (including decimal point) is 11.

feeMinimum
object

Indicates the minimum value that can be charged for the product if the feeBase and feePercent values are LOWER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMaximum
object

Indicates the maximum value that can be charged for the product if the feeBase and feePercent values are GREATER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeBase
object

The standard amount generated for the product fee. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

serviceId
string (3)

Service to which the transaction charge applies.

Refer to BankWorks (API) Data Mapping documentation for possible values.

serviceType
string (3)

Describes the type of card service the fee definition applies to. It can be n/a.

Refer to BankWorks (API) Data Mapping documentation for possible values.

transactionCurrency
string (3)

SWIFT value indicating the transaction currencies on which the product charge can be applied. In cases where value consists of 3 digits, 998 means not applicable and 999 means applicable to all currencies.

transactionType
string (3)

The transaction type on which the charge can be applied. Can also indicate all transactions.

Refer to BankWorks (API) Data Mapping documentation for possible values.

tariffId
string (6)

Client tariff package assigned.

Refer to BankWorks (API) Data Mapping documentation for possible values.

effectiveDate
date-only

Date when the charge fee becomes effective.

tierLevel
string (3)

User specified labels for transaction charge tiers.

Refer to BankWorks (API) Data Mapping documentation for possible values.

serviceContractId
string (3)

The service contract to which charge rules applies.

Refer to BankWorks (API) Data Mapping documentation for possible values.

plIndInward
string (3)

The transaction type of the fee set up as an inward charge.

Refer to BankWorks (API) Data Mapping documentation for possible values.

amendable
boolean

Based on the configuration, it tells whether or not the transaction tariff rule is amendable.

/transactionTariffTemplates

Format: JSON:API Resource

Returns broker transaction charge templates based on the available pricing models. Only one template per pricing model is available.

Permitted JSON:API resource operation:

GET /transactionTariffTemplates :

Retrieval of all defined transaction charge templates.

More information on JSON:API resource access: https://jsonapi.org/format/#fetching

Name Description
pricingModel
string

All rules must have the same fee category.

serviceContractId
string (3)

The service contract to which the transction charges applies.

Refer to BankWorks (API) Data Mapping documentation for possible values.

tariffId
string (6)

Broker tariff template identifier that is unique per service contract and institution.

tariffDescription
string

Description of broker tariff id template which taken from the account condition set choice table.

Relationships
{id}/contractDefinition

Broker contract definitions.

{id}/chargeRules
of type /chargeRules

Transaction charges rules that are linked to this broker tariff template.

Errors

API errors are identified by their response HTTP status codes. The below is a list of error codes that can be returned by the API:

HTTP Code Description
400 Bad Request - Your request is invalid. Examples of bad requests are:
401 Unauthorized - Invalid values in either the Authorization header or the refresh_token in body. This can be caused due to expirted tokens or invalid credentials.
403 Forbidden - You do not have access rights to the content or to perform an action. Examples of forbidden requests are:
404 Not Found - Requested resource does not exists.

Authentication

Authentication is based on OAuth2. In order to perform any API request, you need to first obtain a valid access token. This needs to be included as an Authorization header in each subsequent request. Note that the access token has a limited lifespan and would need to be refreshed if it expires. This is possible by using the refresh token in order to obtain a new valid access token.

Please contact our help desk if you need a set of credentials to access the APIs.

Access Token

To request an access token, provide the base64 encoded value of username:password in the Authorization header (eg. Basic dXNlcm5hbWU6cGFzc3dvcmQ=) with a grant_type key set to ‘client_credentials’ in the x-www-form-urlencoded body. As an example of how to get and manage tokens, please refer to the below simple pseudo-code.

func getAccessToken (string loginname) {
    get accessTokenObject from session

    // eg. taking into consideration 5 seconds grace time to cater for possible latency / network slowdowns    
    if (now + 5 seconds) > accessTokenObject.timeoutTime; {
        accessTokenObject = call refreshToken(loginName, accessTokenObject.refreshToken)
        update accessTokenObject in session
    }

    return accessTokenObject.accessToken    
}

Request

POST https://wsmdemo.rs2.com/wsm/oauth2/token

Request Headers

Authorization{{authorizationHeader}}

Request Body

An object of type oauth2/token with the following attributes:

Name Description
grant_type
string
required

The OAuth2 grant type. The value should always be either ‘client_credentials’.

Response

HTTP 200 (OK)

Response body will contain the created object of type oauth2/token .

Refresh Token

To refresh an access token, provide the base64 encoded value of username: preceeded by Basic in the Authorization header (eg. Basic dXNlcm5hbWU6) along with the grant_type set to _refreshtoken and the value of the refresh_token in the x-www-form-urlencoded body.

Request

POST https://wsmdemo.rs2.com/wsm/oauth2/token

Request Headers

Authorization{{authorizationHeader}}

Request Body

An object of type oauth2/token with the following attributes:

Name Description
refresh_token
string
required

The value of the refresh token that is used to obtain a new access token after it has expired.

grant_type
string
required

The OAuth2 grant type. The value should always be either ‘refresh_token’.

Response

HTTP 200 (OK)

Response body will contain the created object of type oauth2/token .

Change User Password

Updates user’s password, providing the new password in the request body.

Request

PUT https://wsmdemo.rs2.com/wsm/api/user-management/userpassword

Request Headers

Content-Typeapplication/json
AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c

Request Body

An object of type api/user-management/userpassword with the following attributes:

Name Description
newPassword
string
required

The new password for the user represented in the access token request from Authorization header. The new password must meet the following requirements for security:

  • MUST contain at least seven characters
  • MUST contain at least one uppercase letter
  • MUST contain at least one lowercase letter
  • MUST contain at least one number
  • MUST contain at least one special character
  • MUST NOT contain two consecutive identical characters
  • MUST NOT contain username
  • MUST NOT have been used in the previous 5 changes

Response

HTTP 200 (OK)

Logout - Revoke Access Token

This request will invalidate the access token associated with the request. This should be used whenever the requested token is not required anymore for security credentials clean up.

Request

POST https://wsmdemo.rs2.com/wsm/oauth2/logout

Request Headers

Content-Typeapplication/x-www-form-urlencoded
AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c

Request Body

An object of type oauth2/logout with the following attributes:

Name Description
no-content

Response

HTTP 200 (OK)

Response body will contain the created object of type oauth2/logout .

Service Contract Definitions

This section provides example use cases related to the retrieval of business setup rules linked to a service contract. In BankWORKS, a service contract is the main grouping of accounts, serivices, fee and charge setup that can be assigned to a merchant.

Merchants are limited to the accounts and services offerred within the service contract assigned. The use cases covered here reflect the actual service contract setup and does not include any merchant specific information. That will be covered in a dedicated Client Information section.

The requests provided are intended to serve as examples for retrieval of such data. Our API provides more flexibility, allowing additional filtering to be applied or even the inclusion of multiple related resources in a single request.

Contract Fees & Charges Rules

This section provides request samples for the retrieval of contract based fees & charges setup. Any individual merchant fee setup would be handled in the client information section.

Service Fees

Services fees are periodical fees that can be generated by BankWORKS for merchant billing of any non-acquiring, miscellaneous services assigned. These are grouped by service contract and also by client tariff. In addition, services fees can be contract-based (part of the service contract) or else individual merchant overrides. This means that a merchant may only have a specific overrides of available contract based fees.

This example request is intended for the retrieval of all contract based service fees linked to a particular service contract regardless of the clientTariff. In some cases, such as client boarding, it would be necessary to include additional filters such as the clientTariff.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/serviceFeeDefinitions?filter[serviceContractId]=100&filter[isContractFee]=true&sort=serviceContractId,clientTariff

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[serviceContractId] 100
filter[isContractFee] true
sort serviceContractId,clientTariff

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type serviceFeeDefinitions .

Device Fees

Retrieve all available contract based device fees. Device are quite similar to service fees, grouped by service contract and client tariff. Device fees are also split into contract-based and individual overrides. This request focuses on contract based fees. Individual ovverrides which would apply to a single terminal are covered in the devices section of this document.

The below request example will retrieve all the availble contract based devices linked to a serviceDefinitions resource.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/deviceFeeDefinitions?filter[isContractFee]=true&filter[serviceDefinitions.id]=serviceId=500%26serviceContractId=100%26cardBrand=000%26cardOrganization=000%26serviceType=999%26effectiveDate=2020-04-01&sort=clientTariff,-effectiveDate

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[isContractFee] true
filter[serviceDefinitions.id] serviceId=500%26serviceContractId=100%26cardBrand=000%26cardOrganization=000%26serviceType=999%26effectiveDate=2020-04-01
sort clientTariff,-effectiveDate

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type deviceFeeDefinitions .

Product Charges

Product charges are transaction charge rules for acquiring services. Product charges are grouped by service contract and by clientTariff. In addition, product charges can be contract based, part of the service contract structure, or merchant specific (for bespoke merchant transaction charge pricing). The below request example retrieves all the CONTRACT based rules linke dto a particular service contract sorted by tariff. Merchants can be assigned charges by tariff which can either be at contract level, merchantTranTariff or client services level, clientTariff.

For certain use cases including merchant boarding it would be necessary to filter by clientTariff in order to drill down the list further.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/productChargeDefinitions?filter[serviceContractId]=100&filter[isContractFee]=true&sort=serviceContractId,clientTariff

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[serviceContractId] 100
filter[isContractFee] true
sort serviceContractId,clientTariff

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type productChargeDefinitions .

Account Fees

Account fees are periodical fees that can be generated by BankWORKS for merchant billing of any account types assigned. These are grouped by service contract and client tariff. In addition, account fees can be contract-based (part of the service contract) or else individual specific merchant overrides of a contract based fee. This means that a merchant may only have a specific overrides of available contract based fees.

This example request is intended for the retrieval of all contract based account fees linked to a particular service contract regardless of the clientTariff. In some cases, such as client boarding, it would be necessary to include additional filters such as the clientTariff.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/accountFeeDefinitions?filter[serviceContractId]=100&filter[isContractFee]=true&sort=serviceContractId,clientTariff

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[serviceContractId] 100
filter[isContractFee] true
sort serviceContractId,clientTariff

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type accountFeeDefinitions .

Account Type Definitions

An account type definition represents an individual combination of an account type (such as payment account) with a currency. These account types are grouped by service contractDefinitions. This request example returns all the available accountDefinitions linked to a single service contract and sorted by accountTypeId and accountCurrency values. Additional filtering may also be added in order to return the desired subset of accounts available.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/contractDefinitions/serviceContractId=113/accountDefinitions?sort=accountTypeId,accountCurrency

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

sort accountTypeId,accountCurrency

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type accountDefinitions .

Merchant Contract Definitions

This call will get/retrieve the list of available pre-defined client contract definitions in BankWorks. The list of definitions in the response could be used by any third-party vendor or partners for selection of service contracts available via their user interface.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/contractDefinitions?filter[contractType]=002

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[contractType] 002

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type contractDefinitions .

Device Service Definitions

A device service definition represents the a service blueprint for a merchant device. Multiple device services may be available representing the various device types on offer. In order for a merchant to be assigned a device, the merchant must have the device service asssigned in services.

This request provides an example of how device services can be retrieved from the serviceDefinitions resource. Device services can be defined at member level. The serviceDefinitions resource also has an effectiveDate which indicates when the rule comes into effect. This needs to be updated according to the use case being covered, usually replaced with the current date. In addition to the filtering, the result is sorted by serviceId and effectiveDate in reverse chronological order.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/contractDefinitions/serviceContractId=113/serviceDefinitions?filter[serviceBeneficiary]=001&filter[effectiveDate][LE]=2020-04-01&sort=serviceId,-effectiveDate

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[serviceCategory] 022
filter[serviceBeneficiary] 001
filter[effectiveDate][LE] 2020-04-01
sort serviceId,-effectiveDate

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type serviceDefinitions .

Broker Contract Definitions

This call will get/retrieve the list of available broker service contracts.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/contractDefinitions?filter[contractType]=009

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[contractType] 009

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type contractDefinitions .

Misc Service Definitions

Miscellaneous services represent any non device or card acquiring services on offer that certain merchants may need to be assigned for billing purposes.

This request provides an example of how such miscellaneous services can be retrieved from the serviceDefinitions resource. The serviceDefinitions resource also has an effectiveDate which indicates when the rule comes into effect. This needs to be updated according to the use case being covered, usually replaced with the current date. In addition to the filtering, the result is sorted by serviceId and effectiveDate in reverse chronological order.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/contractDefinitions/serviceContractId=113/serviceDefinitions?filter[serviceCategory][NEQ]=001,002,005,022&filter[serviceBeneficiary]=001&filter[effectiveDate][LE]=2020-04-01&sort=serviceId,-effectiveDate

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[serviceCategory][NEQ] 001,002,005,022
filter[serviceBeneficiary] 001
filter[effectiveDate][LE] 2020-04-01
sort serviceId,-effectiveDate

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type serviceDefinitions .

Acquiring Service Definitions

An acquiring service defines the card brand(s) that can be acquired by merchants.

This request provides an example of how acquiring services can be retrieved from the serviceDefinitions resource. Acquiring services can be defined at member level and multiple resources may exist for a single service ID. This is mainly because an individual service ID can be composed of multiple cardOrganization, cardBrand setup lines. The serviceDefinitions resource also has an effectiveDate which indicates when the rule comes into effect. This needs to be updated according to the use case being covered, usually replaced with the current date. In addition to the filtering, the result is sorted by serviceId, cardOrganization, cardBrand and effectiveDate in reverse chronological order.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/contractDefinitions/serviceContractId=113/serviceDefinitions?filter[serviceCategory]=002&filter[serviceBeneficiary]=001&filter[effectiveDate][LE]=2020-04-01&sort=serviceId,cardOrganization,cardBrand,-effectiveDate

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[serviceCategory] 002
filter[serviceBeneficiary] 001
filter[effectiveDate][LE] 2020-04-01
sort serviceId,cardOrganization,cardBrand,-effectiveDate

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type serviceDefinitions .

Settlement Schemes

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/settlementSchemes?filter[settlementMethod]=077&filter[settlementCategory]=203&filter[clearingChannel]=718&filter[serviceContractId]=051&include=contracts

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[settlementMethod] 077
filter[settlementCategory] 203
filter[clearingChannel] 718
filter[serviceContractId] 051
include contracts

Response

Settlement Schemes : HTTP 200 (OK)

Settlement Schemes : HTTP 200 (OK)

Settlement Schemes : HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type settlementSchemes with contractsas included resources.

Merchant Boarding

Merchant Onboarding

This collection will cover the sequential calls for merchant boarding. Merchants can be boarded as standalone merchants or under a parent client, part of a billing and settlement hierarchy.

A top-down approach must be followed when boarding a new merchant hierarchy. This means that merchants would need to be defined as follows:

  1. Group client - top level merchant creation, followed by

  2. Sub-Group - a sub-group merchant resides at any level as long as it sits between a group and a member level merchant. A hierarchy can contain any number of sub-group level merchants.

  3. Member client - The bottom level (leaf node) of the hierarchy, also referred to as the MID level or outlet level. In BankWORKS trasactions are acquired at this level.

Each merchant, requires a number of resources to be defined. For example a merchant will require a contract, multiple addresses, accounts, services among other resources. The requests in this section provide information on all resources that can be defined at merchant boarding stage. The approach taken, groups a number of requests based on their dependency. In summary:

  1. The merchant is defined first

  2. Any resource linked directly to the merchant is defined in the subsequent request

  3. Any resource linked to the merchant contract is finally defined

  4. Payment Instructions linked to the merchant.

  5. The merchant is activated in BankWORKS.

Some important points to note:

  • A merchant is not active in BankWORKS prior to processing. During boarding, the merchants will have a status indicating that the merchant is in process of being defined. Following the definition of all merchant resources, it is necessary to activate the merchant. More information is available in the example requests provided. Merchants that are are in the process of being onboarded have a ttl (time to live) value. More on this on the note below.
  • During hierarchy onboarding it is necessary to full define a merchant and any related resources before moving on to the child merchant. More information about each individual resource is provided per request, as well as a generic description in the API Schema section of this document.

A note on - meta: (object) - ttl: (integer)

The remaining time to live in seconds of the resource. Once the value reaches 0, the resource will expire, and hence deleted. This attribute applies only to merchants and all its relevant resources which are not yet onboarded i.e. status in progress (023) or in error (024). The ttl will be set once the resource is posted and will be reset once the resource is patched or a related resource is posted or patched. The ttl value will be set 2592000 seconds (30 days), however, RS2 reserves the right to change this value.

1. Add Merchant Details

This call is the first step for onboarding and is MANDATORY to be created per client level in the hierarchy or a standalone merchant to be onboarded. This request defines the main merchant client details in BankWORKS. The merchant resource will also be used for linkage to the resources to be defined in the next request. A successful merchant creation will return the resource created as a confirmation as well as the resource ID.

Every merchant created to bankWORKS using WSM API will be marked with a specific status value of 023 (In Process), indicating that the merchant is not yet active in BankWORKS. After creation of the merchant followed by the related and required API resources for onboarding, the status of the merchant can be set to either 001 (Active) or 003 (Suspended) by sending a PATCH request to the merchant resource. Suspended status will only apply for member level merchants if needed. This change in status is the final request and is covered in the final request of the onboarding flow..

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/merchants

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type merchants with the following attributes:

Name Description
clientNumber
string (8)

8-digit BankWORKS client number unique that is unique per institution. System generated if not provided during new merchant definition. A unique number must be provided if user defined.

status
string (3)

Indicates the state of the merchant. New merchants that are not yet processed will have a status of ‘023’ to indicate a merchant in status.

clientType
string (3)

Multiple client types may be available for a merchant to indicate a particular type of merchant. If not provided during merchant creation, the status will default to 002 (Merchant).

Refer to API Data Mapping documentation for possible values.

shortName
string (26)

Merchant’s short name. If not provided during merchant creation, the tradeName value will be used.

firstName
string (15)

First name of the merchant owner. For the USA market this would be the first name of the owner if the merchant is a sole proprietor. Required for USA merchants with legalForm of 029 - Sole Proprietor.

middleName
string (15)

Middle name of the merchant owner. For USA merchants having a legalform of 029 - Sole Proprietor, the middleName would be used to store the middle initial followed by a full-stop (.) as per the Visa Acquirer Merchant Master File requirements.

lastName
string (26)

Last name of the merchant owner. For the USA market this would be the last name of the owner if the merchant is a sole proprietor. Required for USA merchants with legalForm of 029 - Sole Proprietor.

companyName
string (45)
required

The merchant company name.

tradeName
string (25)
required

The name under which the company is trading.

registrationNumber
string (15)

The merchant registration number.

vatRegion
string (3)

Merchant’s VAT region.

Refer to BankWorks (API) Data Mapping documentation for possible values.

language
string (3)
required

Merchant’s language.

Refer to BankWorks (API) Data Mapping documentation for possible values.

legalForm
string (3)
required

Related to the legal form of the merchant. Such as:

  • 000 n/a
  • 001 Limited
  • 002 Joint Stock
  • 003 Plc
  • 004 GmbH
  • 005 Societe Anonyme
  • 006 Company
  • 007 Corporation
  • 029 Sole Proprietor

Refer to BankWorks (API) Data Mapping documentation for possible values.

businessClass
string (4)
required

The ISO 4-digit business classification code.

vatRegistrationNumber
string (15)

Merchant’s VAT number.

ourReference
string (20)

A reference number used for clearing purposes, typically the merchant ID.

domesticMcc
string (4)

The ISO 4-digit domestic merchant category code.

mainContactDetails
object

Object grouping main merchant contact information.

Name Description
title
string (3)

Merchant main contact’s salutation. If not provided will be defaulted to not applicable. Such as:

  • 000 N/A
  • 001 Mr
  • 002 Mrs
  • 003 Miss

Refer to BankWorks (API) Data Mapping documentation for possible values.

contactName
string (35)
required

Merchant’s main contact.

mobile1
string (15)

Primary mobile phone number.

mobile2
string (15)

Secondary mobile phone number.

serviceTelephone
string (15)

Defines the card acceptor’s customer service telephone number. Required for USA and Canada based merchants.

This value is also required for merchants acquiring MasterCard that do not have a URL (/merchantsAddendum url attribute).

rbsClientNumber
string (20)

External merchant reference number.

website
string (100)

Merchant website address details.

eCommerceIndicator
string (3)

Indicates if the merchant business is eCommerce based or a traditional business.

Refer to BankWorks (API) Data Mapping documentation for possible values.

processingRegion
string (3)
required

Defines the processing region of the merchant. Used for transaction processing.

Refer to BankWorks (API) Data Mapping documentation for possible values.

taxRegion
string (3)

Merchant’s tax region.

Refer to BankWorks (API) Data Mapping documentation for possible values.

taxCountry
string (3)
required

The ISO 3-letter country code of the merchant’s country for tax information. In cases where value consists of 3 digits:

  • 000 means not applicable
  • 999 means applicable to all countries
Relationships
merchantAddendum

Additional attributes related to the merchant.

merchantAddendumUsa

Additional attributes specifically for merchants based in USA.

merchantAddendumColombia

Additional attributes specifically for merchants based in Colombia.

clientMappings

All client mappings available related to the merchant.

originalMerchant

This is the originating (old) merchant for which this merchant has been moved from. This is only done via PATCH request. Please see Merchant Entity Move use case for proper usage.

clientRelations

All virtual links related to the merchant.

merchantTaxStatus

All tax status records related to the merchant.

disputeCases

All dispute cases related to the merchant.

kycClients

All KYC/AML clients related to the merchant.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type merchants .

2. Create Addresses, Addendums, Contract, Settlement, References

This request has multiple calls to onboarding and will create merchant Addresses, Addendum and Addendum USA, Contract, and Settlement Information information (if client is a billing level). These represent direct resources that can be linked to the merchant defined in previous step without any dependecy to other merchant resources.

ADDRESS CREATION:

This call will create merchant address/es depending on what address categories are required upon onboarding. Below are the minimum requirements and each category is equivalent to 1 API request: - Standard Address (addressCategory 001) required by BankWORKS and representing the main merchant address. In most cases this would have the same address attributes as the clearing address mentioned in the next point. - Clearing Address (addressCategory 022) is needed for outward clearing file to be sent to card schemes. This address should represent the physical location of the merchant and will most likely be the same as the Standard address.

Other addresses optional address categories are available and may be used if required. Every address to be created must be linked to the merchant being onboarded. Refer to mandatory relationship for more information.

ADDENDUM CREATION:

Additional merchant attributes may required. There are 2 different addendum resources available: - merchantsAddendum: Contains any potential addendum attributes not part of the primary merchant record. - merchantsAddednumUsa: Similar to merchantsAddendum however USA region specific, applicable for USA merchants.

Both of these addendum records are OPTIONAL.

CONTRACT CREATION:

Creation of a contract resource for a new client and is MANDATORY for onboarding may it be standalone merchant or per client level in a hierarchy. In case of a hierarchical merchant, the parent merchant contract must be linked as a relationship. Refer to mandatory relationships for more information

SETTLEMENT INFORMATION CREATION:

This will define the settlement information including RBS bank account number of the merchant and is MANDATORY only if a billing level account is to be created and for the account types which are not configured. Multiple settlement information/package can be added (up to 99). This number will be set automatically and stored in settlementNumber as part of the resource ID.

For settlementPackages with related fundingClient, it is to be associated in the relationship from the request apart from merchant relationship/linkage:

CLIENT REFERENCES CREATION:

This call is OPTIONAL and will can be used to add any client reference values necessary at onboarding stage. Client references are miscellaneous reference properties that may be requried for a merchant. Multiple references can be defined during onboarding, one for each reference type supported. These reference types are usually institution spefic values. Refer to clientReferences for more details.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/json-patch+json
Acceptapplication/json-patch+json
Crnk-Compacttrue

Request Body

This request body contains of a numer of JSON Patch operations to perform bulk actions on the addresses, merchantsAddendum, merchantsAddendumUsa, contracts, settlementPackages and clientReferences JSON:API resources. Follow the example in order to see how to perform the JSON Patch call. Below are the JSON:API resource objects accepted in this JSON Patch call.

addresses object
Name Description
addressCategory
string (3)
required

The address category identifier for the returned client address resource are the following but not limited to:

  • 001 Standard
  • 006 Statement
  • 007 Location Address
  • 010 Contact Address
  • 022 Clearing Address
  • 202 Branch Office Address

A client must have at least a standard (001) and a clearing (022) address.

Refer to BankWorks (API) Data Mapping documentation for possible values.

effectiveDate
date-only

The date in ISO 8601 format when the address becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, the current posting date is automatically assumed.

expiryDate
date-only

The date in ISO 8601 format when the address record is no longer taken into consideration. Can be used for temporary addresses. Date must be in the future.

addressLine1
string (35)
required

Address line typically used for building information but not limited to house name, number, floor, unit and block number.

addressLine2
string (35)

Address line typically used for street information such as street number and name.

addressLine3
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine4
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine5
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

contactName
string (35)

Main contact name for the address.

city
string (35)
required

Client’s city.

state
string (3)

3 digit identifier for the client’s state/region.

Refer to BankWorks (API) Data Mapping documentation for possible values.

country
string (3)
required

The ISO 3-letter country code. In cases where value consists of 3 digits, 000 means not applicable and 999 means applicable to all countries.

postCode
string (20)
required

Client’s postcode.

poBox
string (10)

P.O. Box details.

addressLanguage
string (3)

3-digit identifier for the client address language.

Refer to BankWorks (API) Data Mapping documentation for possible values.

telephone1
string (15)

Primary address fixed line number, for example, a client’s home or business telephone number.

telephone2
string (15)

Secondary address fixed line number for example a secondary business telephone number.

faxWork
string (15)

Office fax number.

deliveryMethod
string (3)

3-digit value indicating the preferred delivery option for correspondence. Defaulted to not applicable (000) if not provided.

Refer to BankWorks (API) Data Mapping documentation for possible values.

emailAddress
string (60)

Client’s e-mail address. This is required if deliveryMethod is set to 500 (E-mail).

Relationships
merchant
required

Link to the merchant resource ID previously defined in the merchant resource creation stage.

kycClient

KYC/AML client who owns the address information. An address can only belong to one client.

merchantsAddendum object
Name Description
seasonalMerchant
string (3)

Flag to indicate if the merchant is a seasonal merchant or not. Such as:

  • 000 No
  • 001 Yes

Refer to BankWorks (API) Data Mapping documentation for possible values.)

feeProgramIndicator
string (3)

The fee program indicator used for the VISA Base 2 clearing file.

visaInterchangeProgram
string (10)

Stores the value of the Visa interchange program value.

visaInterchangeProgramQualification
string (3)

The ISO 3-digits used to determine the tier of the interchange.

mastercardInterchangeProgram
string (10)

Stores the value of the MasterCard AID.

mastercardInterchangeProgramQualification
string (3)

The ISO 3-digits used to determine the tier of the interchange.

socialSecurityNumber
string (9)

This attribute will contain the SSN, and it is required for Discover. It is also required when the taxIdNumberType in the merchantsAddendumUsa will be set to 002 SSN.

The value of this attribute in the response will always be returned in masked format.

vatTaxIndicator
string (6)

Tax tariff that will be charged to merchant related to merchant VAT.

Refer to BankWorks (API) Data Mapping documentation for possible values.

municipalCode
string (7)

The municipality code of the place where the transaction occurred.

merchantCountryOfOrigin
string (3)

Mastercard requirement for government owned merchants. The country of origin for government-controlled merchants must always be populated. This includes when the government-controlled merchant’s home country is the country where the government-controlled merchant is physically located and when the government-controlled merchant’s home country is not the country where the government-controlled merchant is physically located.

The format is in ISO 3-letter country code. E.g. NZL (New Zealand)

Refer to API Data Mapping documentation for account definitions available for the institution.

url
string (76)

The merchant’s main website address.

This value is also required for merchants acquiring MasterCard eCommerce and in case there is no main service telephone number (mainContactDetails.serviceTelephone).

independentSalesOrganisation
string (11)

Independent Sales Organisation ID value provided by Mastercard.

This value is equivalent to the merchantsAddendumUsa.independentSalesOrganisation attribute.

Relationships
merchant
required

Link to the merchant resource ID previously defined in the merchant resource creation stage.

merchantsAddendumUsa object
Name Description
url
string (76)

Merchant URL information.

independentSalesOrganisation
string (11)

Independent Sales Organisation ID value provided by Mastercard.

This value is equivalent to the merchantsAddendum.independentSalesOrganisation attribute.

taxId
string (9)

TAX ID/TIN number used by the IRS. Requirement of the 1099k form report. This is required when the taxIdNumberType either:

  • 001 EIN
  • 003 ITIN
  • 004 ATIN
taxIdNumberType
string (3)

Indicates the type of TAX ID/TIN number used by the IRS. Requirement of the 1099k form report. When this is set to 002 SSN, the socialSecurityNumber in the merchantsAddendum is required.

information
string (200)

Information about what product/services are sold by the merchant.

visaInternationalAcquirerFeeFlag
string (3)

Flag indicating whether the Visa International Acquirer Fee is to be posted to client rather than institution account. Such as:

  • 000 means institution account
  • 001 means client account
federalTaxTariff
string (6)

Indicates the Federal tax fee tariff.

Relationships
merchant
required

Link to the merchant resource ID previously defined in the merchant resource creation stage.

contracts object
Name Description
status
string (3)

Indicates the status of the client contract. If not provided, this will be defaulted to 001 (Active).

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientLevel
string (3)
required

Indicates the BankWORKS hierarchical level for the client contract. The following values are possible:

  • 002 - Group (top most client)
  • 003 - Sub-Group (any level between a Group and Member Client)
  • 001 - Member (outlet or transactional level merchant, applicable to standalone merchants as well)
effectiveDate
date-only

The date in ISO 8601 format on which the hierarchy link record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, posting date +1 value is assumed only post-boarding.

settlementMethod
string (3)
required

Indicates the method how the client will settle with the bank. Identifies how outstanding balances are settled. Required only when onboarding a new client.

Refer to BankWorks (API) Data Mapping documentation for possible values.

postingMethod
string (3)

The tariff under which the client falls when posting to the clients account.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientTariff
string (6)
required

Indicates the client tariff package assigned. Required only when onboarding a new client.

Refer to BankWorks (API) Data Mapping documentation for possible values.

transactionChargesTariff
string (6)

Indicates the applicable transaction charges tariff. Transaction charges are represented as productChargeDefinitions. This is an optional field and if not provided will default to not applicable 000000. If a tariff value is provided, the merchant services clientTariff value will not apply.

Refer to BankWorks (API) Data Mapping documentation for possible values.

chargeTierLevel
string (3)

Enables setting up of the same fee with different value high and value low triggers.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientScheme
string (6)

Indicates the rebate tariff applicable for the contract.

contractReference
string (8)

Merchant contract document reference.

bankReference
string (8)

External additional reference number of the merchant with the bank.

institutionAccountOfficer
string (3)

Officer in charge of the client contract.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientBranch
string (3)

Contract application branch details. Related to the institutionAccountOfficer.

Refer to BankWorks (API) Data Mapping documentation for possible values.

tierGroup
string (3)

An identifier used to group a set of rates that need to be applied during tiered pricing generation.

Refer to BankWorks (API) Data Mapping documentation for possible values.

entityId
string (3)

Entity identifier used to split GL entries and transactions generated for financial activity in a single processing institution across multiple legal entities.

riskRuleGroupId
string (3)

Identifier for the set of rules applies in the risk module.

Refer to BankWorks (API) Data Mapping documentation for possible values.

Relationships
contractDefinition
required

Link to a merchant contract definition. These are available as business rules. Refer to merchant contract definition retrieval for more information.

merchant
required

Link to the merchant resource ID previously defined in the merchant resource creation stage.

parentContracts

If defining a merchant that is part of a hierarchy below the GROUP level, the parent merchant contract needs to be provided. Standalone MEMBER level clients do not require a parent contract to be linked to.

riskRuleParameters

One or more risk rule parameters this client contract is linked to.

settlementPackages object
Name Description
settlementCategory
string (3)

Settlement information category descriptor such as Payable or Receivable.

accountCurrency
string (3)

The currency of the counter bank account in SWIFT currency code format. In cases where value consists of 3 digits:

  • 998 means not applicable
  • 999 means applicable to all currencies
bankClearingNumber
string (8)

Information regarding the account’s bank details. For USA merchants, this must be a 9-digit value.

contingencyLiabilityAccount
string (11)

The RBS account that is used in case the counter RBS bank account is not able to fullfil the RECEIVABLE obligation.

correspondingBankAccount
string (16)

The NOSTRA/VOSTRO bank account of the affiliate institution.

correspondingBankNumber
string (35)

The bank number of the affiliate institution where the counter bank Nostro/Vostro are domiciled.

receiverCountryCode
string (3)

The country where the bank account information is located. In cases where value consists of 3 digits:

  • 000 means not applicable
  • 999 means applicable to all countries
noteText
string (2000)

Free text notes on the settlement package.

payableDetails
object
Name Description
counterBankAccount
string (35)

The counter RBS bank account number used to settle PAYABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for PAYABLES is domiciled.

paymentReference
string (24)

The reference to be included in the outward payment transaction.

confirmationMethod
string (3)

The routing channel used for example Fax, mail, SWIFT etc.

counterClientNumber
string (8)

The RBS client number used for PAYABLES.

bankTelNumber
string (15)

The counter bank telephone number used for PAYABLES.

bankContactName
string (35)

The counter bank contact name used for PAYABLES.

counterBankName
string (40)

The counter bank name used for PAYABLES.

counterBankAccountName
string (35)

The counter bank account name used for PAYABLES.

counterBankCity
string (35)

The counter bank’s city used for PAYABLES.

ibanReference
string (35)

The counter bank account IBAN used for PAYABLES.

fundingNarrative
string (18)

Contains funding information applicable for PAYABLES.

counterBranchCode
string (20)

The merchant bank branch code used for PAYABLES.

bankAccountType
string (3)

The merchant bank account type used for PAYABLES.

Refer to BankWorks (API) Data Mapping documentation for possible values.

receivableDetails
object
Name Description
counterBankAccount
string (35)

The counter RBS bank account number used to settle RECEIVABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for RECEIVABLES is domiciled.

bankTelNumber
string (15)

The counter bank telephone number used for RECEIVABLES.

bankContactName
string (35)

The counter bank contact name used for RECEIVABLES.

counterBankName
string (40)

The counter bank name used for RECEIVABLES.

counterBankAccountName
string (35)

The counter bank account name used for RECEIVABLES.

counterBankCity
string (35)

The counter bank’s city used for RECEIVABLES.

ibanReference
string (35)

The counter bank account IBAN used for RECEIVABLES.

fundingNarrative
string (18)

Contains funding information applicable for RECEIVABLES.

counterBranchCode
string (20)

The merchant bank branch code used for RECEIVABLES.

bankAccountType
string (3)

The merchant bank account type used for RECEIVABLES.

Refer to BankWorks (API) Data Mapping documentation for possible values.

Relationships
merchant
required

Link to the merchant resource ID previously defined in the merchant resource creation stage.

fundingClient

Optional link to the funding bank to indicate source of funds for merchant settlement. Refer to the funding client section for more information.

mandateInformation

SEPA DD mandate information for which the settlement is related to.

clientReferences object
Name Description
referenceType
string (3)

Identifies the type of institution-specific client reference type.

Refer to BankWorks (API) Data Mapping documentation for possible values.

referenceValue
string (36)

Value of client reference. E.g. 1234000-ABC

Relationships
merchant
required

The merchant owner of the reference property.

Response

Sample 1 - with Error : HTTP 200 (OK)

Sample 2 - Successful : HTTP 200 (OK)

Response body will contain the result of the JSON PATCH operation for the following resources: addresses merchantsAddendum merchantsAddendumUsa contracts settlementPackages clientReferences

2.1 Revert Addresses, Addendums, Contract, Settlement , References

This is a sample rollback call for deleting the previous bulk call. Only include deletion for the successful operations from previous bulk request.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/json-patch+json
Acceptapplication/json-patch+json
Crnk-Compacttrue

Request Body

Response

HTTP 200 (OK)

3. Create Accounts, Services, CardSchemeAddendum, Tax Status, Mandate Information, Risk Rule Parameters

ACCOUNTS CREATION:

This call is MANDATORY for merchant onboarding. Every account boarded forms part of an account hierarchy (based on the Account Type and Currency combination, for example Payment Account EUR) which is based on the same strucutre as a client hierarchy. Each account hierarchy should have a billing and settlement point level. The billing point should be available per hierarchy branch/path. Billing level accounts require a settlementPackage to be linked to. This can be any settlementPackage resource defined earlier during onboarding. More information on the attributes and relationships is available below.

SERVICES CREATION:

This call is OPTIONAL. A merchant can have a number of optional services defined during onboarding. Mandatory services are automatically created during merchant onboarding processing, part of the final step. An individual service resource must be created for each service to be onboarded and must be based on existing service definition rules part of the merchant’s service contract. More information information is available in the relationships section.

CARD SCHEME ADDENDUM CREATION

This call is OPTIONAL. A merchant can have a number of optional card scheme addenda defined during onboarding. More information information is available in the API schema relationships section.

RISK RULE PARAMETERS CREATION

This call is OPTIONAL. Prior to creation of this resource, risk should be enabled for the merchant contract via riskRuleGroupId attribute on this request.

Note: Record ID generated during onboarding is only an initialized value. A GET request on Client Risk Parameters via Client Number should be performed after the client has been onboarded in order to retrieve the actual ID for this resource. Any POST request after onboarding will automatically generate the actual recordId.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/json-patch+json
Acceptapplication/json-patch+json
Crnk-Compacttrue

Request Body

This request body contains of a numer of JSON Patch operations to perform bulk actions on the accounts, services, merchantTaxStatus, mandateInformation and riskRuleParameters JSON:API resources. Follow the example in order to see how to perform the JSON Patch call. Below are the JSON:API resource objects accepted in this JSON Patch call.

accounts object
Name Description
clientAccountName
string (35)

Field representing the merchant account alias.

accountNumberRbs
string (28)

External account number reference.

statementGeneration
string (3)

Indicates the statement generation rule applicable for this account.

Refer to BankWorks (API) Data Mapping documentation for possible values.

statementType
string (3)

Indicates the type of statement applicable for this account.

Refer to BankWorks (API) Data Mapping documentation for possible values.

Relationships
accountDefinition
required

Link to a account definition business rule. This must be availabe in the client contract definition assigned ealier, during merchant contract creation. Refer to the account definition retrieval by service contract request for more information.

settlementPackage

Optional, settlementPackage only needs to be linked to if the account is at billing level. Providing a settlementPackage automatically sets the account billingLevel to 001 - indicating a billingLevel account

contracts
required

Link to the merchant contract defined during contract creation.

paymentInstructions

Payment instructions defined for the account.

billingAccounts

The billing account within the account hierarchy.

balanceCycles

The account balances per cycle.

services object
Name Description
clientNumber
string

The BankWORKS 8-digit client number.

groupNumber
string

Indicates the client hierarchy group the service relates to. Refer to contracts relationship below for linking service to contract.

serviceId
string

BankWORKS service identifier.

Refer to BankWorks (API) Data Mapping documentation for possible values.

serviceCategory
string (3)

Indicates the service category of the client service.

Refer to BankWorks (API) Data Mapping documentation for possible values.

status
string (3)

Indicates the current status of the client service.

Refer to BankWorks (API) Data Mapping documentation for possible values.

effectiveDate
date-only

The date in ISO 8601 format when the client service becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, posting date +1 value is assumed only post-boarding.

expiryDate
date-only

The date in ISO 8601 format when the client service expires and no longer applies.

clientTariff
string (6)
required

Indicates the applicable transaction charge rules. The tariff only applies if the related merchant contract does not have a transactionChargesTariff value of “000000”. Defaults to “000000” if not provided. Applicable only to card based acquiring services. For miscellaneous service tariff, refer to the contracts resource.

Refer to BankWorks (API) Data Mapping documentation for possible values.

reviewDate
date-only

Indicates the service revision date in ISO 8601 format.

Relationships
serviceDefinitions
required

A client service must be based on a serviceDefinition rule. The serviceDefinition rule must be available in the client contractDefinition linked to during merchant contract creation. Various types of merchant services can be applied for, refer to **Acquiring Services and **Miscellaneous Services for more information.

contracts
required

Link to the merchant contract defined during contract creation.

merchantTaxStatus object
Name Description
taxType
string (3)

Indicates the type of merchant tax.

Refer to BankWorks (API) Data Mapping documentation for possible values.

taxStatus
string (3)

Indicates the current status of merchant tax type.

Refer to BankWorks (API) Data Mapping documentation for possible values.

effectiveDate
date-only

The date in ISO 8601 format on which the merchant tax status record becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, posting date value is assumed.

expiryDate
date-only

The date in ISO 8601 format when the merchant tax status can no longer be used.

recordDate
date-only

The date in ISO 8601 format on which the merchant tax status record is created. Defaulted to the current posting date when a new record is created

Relationships
merchant
required

Merchant information related to merchant tax status record.

mandateInformation object
Name Description
uniqueMandateReference
string (35)
required

A unique 35-character reference for the signed mandate

instrumentCode
string (3)

Type of the mandate whether it is a business-to-client or business-to-business scheme.

Refer to BankWorks (API) Data Mapping documentation for possible values.

firstOccurrence
string (3)

This will indicate whether the mandate is first occurrence or not. By default it will be set to No (000).

Refer to BankWorks (API) Data Mapping documentation for possible values.

signatureDate
date-only (8)
required

Date of which the mandate was signed or authorised.

Relationships
settlementPackages
required

Bank account settlement information which this mandate belongs to.

riskRuleParameters object
Name Description
recordId
string (15)

The identifier generated which is unique for every record.

Note: Record ID generated pre-onboarding is only an initialized value. A GET request on Get Client Risk Parameters via Client Number should be performed after the client has been onboarded in order to retrieve the actual ID for this resource. Any POST request after onboarding will automatically generate the actual recordId.

ruleParameter
string (6)
required

The risk rule parameter for which the risk rule applies to.

isContractRule
boolean

This flag will indicate whether the risk rule parameter is a contract-generated (true) or client-defined (false).

clientId
number

The identifier generated for client-defined risk rule parameters.

Note: Client ID generated pre-onboarding is only an initialized value. A GET request on Get Client Risk Parameters via Client Number should be performed after the client has been onboarded in order to retrieve the actual clientId for this resource. Any POST request after onboarding will automatically generate the actual clientId.

effectiveDate
date-only

The date in ISO 8601 format when the risk parameter will take into effect.

expiryDate
date-only

Expiry date of risk rule parameter in ISO 8601 format.

value
string
required

The risk rule value applied for the specified rule parameter. Value format varies depending on the rule parameter’s data type.

Refer to BankWorks (API) Data Mapping documentation for possible values.

Example:

  • ruleParameter: 000001 - data type: Amount - format: with decimal place.

  • ruleParameter: 000002 - data type: Number - format: integer only without decimal place

currency
string (3)

The risk rule currency to be specified in case rule parameter requires an amount value. This should be in 3-letter ISO SWIFT format.

Example: USD, EUR

description
string (3)

Free-text description for the risk rule parameter.

recordDate
date-only (3)

The date in ISO 8601 format on which the risk rule parameter record is created. Defaulted to the current posting date when a new record is created.

Relationships
contracts
required

Merchant contract/s for which the rule parameter applies to.

Response

Sample 1 - with error : HTTP 200 (OK)

Sample 2 - Successful : HTTP 200 (OK)

Response body will contain the result of the JSON PATCH operation for the following resources: accounts services merchantTaxStatus mandateInformation riskRuleParameters

3.1 Revert Accounts, Services, CardSchemeAddendum, Tax Status, mandate Information

This is a sample rollback call for deleting the previous bulk call. Only include deletion for the successful operations from previous bulk request.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/json-patch+json
Acceptapplication/json-patch+json
Crnk-Compacttrue

Request Body

Response

HTTP 200 (OK)

4. Add Payment Instructions

A request to create new payment instructions record.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/paymentInstructions

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type paymentInstructions with the following attributes:

Name Description
transactionType
string (3)
required

Defines the transaction type assigned to the outgoing transaction.

Refer to BankWorks (API) Data Mapping documentation for possible values.

paymentBase
decimal (18)

Fixed base amount applied to the generated payment. Defaulted to zero if not sent.

paymentPercentage
decimal (11)

Percentage amount based on the total payable amount. This is applied to the payment base. Defaulted to zero if not sent.

paymentMinimum
decimal (18)

Minimum amount generated should paymentBase paymentPercentage not reach the minimum threshold. Defaulted to zero if not sent.

paymentMaximum
decimal (18)

Maximum amount generated should paymentBase paymentPercentage go over the mamximum threshold. Defaulted to zero if not sent.

executionCountLimit
int (11)

The total payment instruction execution count limit. This is compared with the execution counter and when the threshold defined is reached, the instruction no longer executes.

notes
string (1300)

Allows a generic text description to be provided with the rule for reference purposes.

paymentCategory
string (3)
required

Indicates the settlement category of the payment instruction.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clearingChannel
string (3)
required

Defines the outgoing clearing channel assigned to the payment transactions generated.

Refer to BankWorks (API) Data Mapping documentation for possible values.

trigger
object
Name Description
source
string (6)

Defines the value or event that triggers the payment instruction.

Refer to BankWorks (API) Data Mapping documentation for possible values.

ruleId
string (3)
required

Groups a set of payment instructions instructions under a trigger rule.

Refer to BankWorks (API) Data Mapping documentation for possible values.

period
string (3)
required

Defines the execution frequency of the payment instruction rule.

Refer to BankWorks (API) Data Mapping documentation for possible values.

startDate
date-only

Indicates the applicable start date of the payment instruction rule. Defaulted to the current posting date if not provided.

endDate
date-only

Indicates the expiry date of the payment instruction rule. Defaulted to 9999-12-31 if no value is provided.

operator
string (3)
required

The mathematical operator related to the trigger source and values.

valueLow
decimal (18)

Works in relation with the trigger source and trigger operator. The minimum amount that fires the trigger based on the defined trigger source event.

valueHigh
decimal (18)

Works in relation with the trigger source and trigger operator. The maximum amount that fires the trigger based on the defined trigger source event.

executionAmountLimit
decimal (11)

The total limit threshold allowed for the payment instruction rule. This works in conjunction with the executionAmountPaid. Once this limit is reached, the payment instruction rule no longer executes.

Relationships
account
required

Accounts which this payment instructions will be applied.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type paymentInstructions .

5. Process Merchant

Reference resource: merchants

This call is MANDATORY and the last step to onboard a merchant.

After the required API onboarding resources are created, status of the merchant needs to be set to either 001 (Active) or 003 (Suspended) by sending a PATCH request to merchants API. Please note that Suspended status will only apply for MEMBER level (transacting) merchants if necessary.

This PATCH request triggers the AIM and APM to process the merchant application. When the back-end application processing is successful, an API response of 200 or 201 (successful) will be passed as well indicating an merchant is onboarded successfully with that status.

In case there are any processing errors, the error details will be indicated in the response and the merchant status will be set to 024 (In Error).

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/merchants/clientNumber=10050000

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

Response

Sample - Active Merchant : HTTP 200 (OK)

Sample 1 - with Error : HTTP 422 (Unprocessable Entity)

Amex OptBlue

The Amex OptBlue merchant program requires an authorized signer and up to four business owners to be defined for the prospective merchant. In BankWORKS both individual types can be supported via the kycClients API. These individuals can be registered following merchant activation and must be linked to the OptBlue merchant as indicated in these use cases.

A use case for retrieval of the merchant OptBlue status has also been provided as a separate use case.

Get Amex OptBlue Merchants

Retrieve all the Amex OptBlue merchant details that is stored in BankWORKS.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/merchants?filter[contracts][cardSchemeAddendums.cardOrganisation]=004&filter[contracts][cardSchemeAddendums.amex.direct]=002&include=kycClients

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[contracts][cardSchemeAddendums.cardOrganisation] 004
filter[contracts][cardSchemeAddendums.amex.direct] 002
include kycClients

Response

Get Amex OptBlue Merchants : HTTP 200 (OK)

Get Amex OptBlue Merchants w/ KYC Clients : HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type kycClients with kycClientsas included resources.

Get Merchants KYC Clients

Retrieve all the Amex OptBlue merchant details that is stored in BankWORKS.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/merchants/clientNumber=22550339?include=kycClients

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[contracts][cardSchemeAddendums.cardOrganisation] 004
filter[contracts][cardSchemeAddendums.amex.direct] 002
include kycClients

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type kycClients with kycClientsas included resources.

Add Authorized Signer

A request to create a new Authorized signer/KYC client to store to BankWORKS. This must be link to any ISO that is available in BankWORKS.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/kycClients

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type kycClients with the following attributes:

Name Description
clientStatus
string (3)

Indicates the status of KYC/AML client. If not provided will be defaulted to 001 (Active). Examples include:

  • 001 (Active)
  • 002 (Dormant)
  • 003 (Suspended)
  • 004 (Closed).

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientType
string (3)

Defines the type of client record. For example, a business owner.

Refer to BankWorks (API) Data Mapping documentation for possible values.

title
string (3)

Indicates the KYC/AML client salutation. If not provided will be defaulted to 000 (n/a). Examples include:

  • 000 (N/A)
  • 001 (Mr)
  • 002 (Mrs) -003 (Miss)

Refer to BankWorks (API) Data Mapping documentation for possible values.

firstName
string (15)
required

The first name of the private individual.

lastName
string (26)
required

The last name of the private individual.

dateOfBirth
date-only
required

The date of birth in ISO 8601 format.

socialSecurityNumber
string (9)

Indicates the unique social security number of the client. The value of this attribute in the response will always be returned in masked format.

Relationships
merchants

Merchant resource to which the KYC/AML client is linked to.

addresses

The addresses linked to the KYC client.

Response

Add Authorized Signer - Successful 1 : HTTP 201 (Created)

Add Authorized Signer - Successful 2 : HTTP 201 (Created)

Add Authorized Signer - Error : HTTP 403 (Forbidden)

Response body will contain the created JSON:API resource of type kycClients .

Edit Authorized Signer

A request to modify the information of an existing Authorized signer/KYC client in BankWORKS.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/kycClients/{{kycClientId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type kycClients with the following attributes:

Name Description
clientStatus
string (3)

Indicates the status of KYC/AML client. If not provided will be defaulted to 001 (Active). Examples include:

  • 001 (Active)
  • 002 (Dormant)
  • 003 (Suspended)
  • 004 (Closed).

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientType
string (3)

Defines the type of client record. For example, a business owner.

Refer to BankWorks (API) Data Mapping documentation for possible values.

title
string (3)

Indicates the KYC/AML client salutation. If not provided will be defaulted to 000 (n/a). Examples include:

  • 000 (N/A)
  • 001 (Mr)
  • 002 (Mrs) -003 (Miss)

Refer to BankWorks (API) Data Mapping documentation for possible values.

firstName
string (15)

The first name of the private individual.

lastName
string (26)

The last name of the private individual.

dateOfBirth
date-only

The date of birth in ISO 8601 format.

socialSecurityNumber
string (9)

Indicates the unique social security number of the client. The value of this attribute in the response will always be returned in masked format.

Relationships
merchants

Merchant resource to which the KYC/AML client is linked to.

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type kycClients .

Get Authorized Signer

Retrieve the Authorized signer/KYC client details that are stored in BankWORKS.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/kycClients?filter[clientType]=021

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[clientType] 021
include addresses,merchants

Response

Get Authorized Signer : HTTP 200 (OK)

Get Authorized Signer w/ Addresses and Merchants : HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type kycClients with addresses,merchantsas included resources.

Add Authorized Signer Address

This request will create an address (Address Category - Guarantor 018) linked to Authorized signer/KYC client.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/addresses

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type addresses with the following attributes:

Name Description
addressCategory
string (3)
required

The address category identifier for the returned client address resource are the following but not limited to:

  • 001 Standard
  • 006 Statement
  • 007 Location Address
  • 010 Contact Address
  • 022 Clearing Address
  • 202 Branch Office Address

A client must have at least a standard (001) and a clearing (022) address.

Refer to BankWorks (API) Data Mapping documentation for possible values.

effectiveDate
date-only

The date in ISO 8601 format when the address becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, the current posting date is automatically assumed.

expiryDate
date-only

The date in ISO 8601 format when the address record is no longer taken into consideration. Can be used for temporary addresses. Date must be in the future.

addressLine1
string (35)
required

Address line typically used for building information but not limited to house name, number, floor, unit and block number.

addressLine2
string (35)

Address line typically used for street information such as street number and name.

addressLine3
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine4
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine5
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

contactName
string (35)

Main contact name for the address.

city
string (35)
required

Client’s city.

state
string (3)

3 digit identifier for the client’s state/region.

Refer to BankWorks (API) Data Mapping documentation for possible values.

country
string (3)
required

The ISO 3-letter country code. In cases where value consists of 3 digits, 000 means not applicable and 999 means applicable to all countries.

postCode
string (20)
required

Client’s postcode.

poBox
string (10)

P.O. Box details.

addressLanguage
string (3)

3-digit identifier for the client address language.

Refer to BankWorks (API) Data Mapping documentation for possible values.

telephone1
string (15)

Primary address fixed line number, for example, a client’s home or business telephone number.

telephone2
string (15)

Secondary address fixed line number for example a secondary business telephone number.

faxWork
string (15)

Office fax number.

deliveryMethod
string (3)

3-digit value indicating the preferred delivery option for correspondence. Defaulted to not applicable (000) if not provided.

Refer to BankWorks (API) Data Mapping documentation for possible values.

emailAddress
string (60)

Client’s e-mail address. This is required if deliveryMethod is set to 500 (E-mail).

recordDate
date-only

The date in ISO 8601 format for when the address record was created.

Relationships
kycClient
required

KYC/AML client who owns the address information. An address can only belong to one client.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type addresses .

Add Business Owner

A request to create a new Business owner/KYC client to store to BankWORKS. This must be link to any ISO that is available in BankWORKS.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/kycClients

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type kycClients with the following attributes:

Name Description
clientStatus
string (3)

Indicates the status of KYC/AML client. If not provided will be defaulted to 001 (Active). Examples include:

  • 001 (Active)
  • 002 (Dormant)
  • 003 (Suspended)
  • 004 (Closed).

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientType
string (3)

Defines the type of client record. For example, a business owner.

Refer to BankWorks (API) Data Mapping documentation for possible values.

title
string (3)

Indicates the KYC/AML client salutation. If not provided will be defaulted to 000 (n/a). Examples include:

  • 000 (N/A)
  • 001 (Mr)
  • 002 (Mrs) -003 (Miss)

Refer to BankWorks (API) Data Mapping documentation for possible values.

firstName
string (15)
required

The first name of the private individual.

lastName
string (26)
required

The last name of the private individual.

dateOfBirth
date-only
required

The date of birth in ISO 8601 format.

socialSecurityNumber
string (9)

Indicates the unique social security number of the client. The value of this attribute in the response will always be returned in masked format.

Relationships
merchants

Merchant resource to which the KYC/AML client is linked to.

addresses

The addresses linked to the KYC client.

Response

Add Business Owner - Successful 1 : HTTP 201 (Created)

Add Business Owner - Successful 2 : HTTP 201 (Created)

Add Business Owner - Error : HTTP 403 (Forbidden)

Response body will contain the created JSON:API resource of type kycClients .

Edit Business Owner

A request to modify the information of an existing Business owner/KYC client in BankWORKS.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/kycClients/{{kycClientId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type kycClients with the following attributes:

Name Description
clientStatus
string (3)

Indicates the status of KYC/AML client. If not provided will be defaulted to 001 (Active). Examples include:

  • 001 (Active)
  • 002 (Dormant)
  • 003 (Suspended)
  • 004 (Closed).

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientType
string (3)

Defines the type of client record. For example, a business owner.

Refer to BankWorks (API) Data Mapping documentation for possible values.

title
string (3)

Indicates the KYC/AML client salutation. If not provided will be defaulted to 000 (n/a). Examples include:

  • 000 (N/A)
  • 001 (Mr)
  • 002 (Mrs) -003 (Miss)

Refer to BankWorks (API) Data Mapping documentation for possible values.

firstName
string (15)

The first name of the private individual.

lastName
string (26)

The last name of the private individual.

dateOfBirth
date-only

The date of birth in ISO 8601 format.

socialSecurityNumber
string (9)

Indicates the unique social security number of the client. The value of this attribute in the response will always be returned in masked format.

Relationships
merchants

Merchant resource to which the KYC/AML client is linked to.

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type kycClients .

Get Business Owners

Retrieve the Business owner/KYC client details that are stored in BankWORKS.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/kycClients?filter[clientType]=020

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[clientType] 020
include addresses,merchants

Response

Get Business Owners : HTTP 200 (OK)

Get Business Owners w/ Addresses and Merchants : HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type kycClients with addresses,merchantsas included resources.

Add Business Owner Address

This request will create an address (Address Category - Guarantor 018) linked to Business owner/KYC client.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/addresses

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type addresses with the following attributes:

Name Description
addressCategory
string (3)
required

The address category identifier for the returned client address resource are the following but not limited to:

  • 001 Standard
  • 006 Statement
  • 007 Location Address
  • 010 Contact Address
  • 022 Clearing Address
  • 202 Branch Office Address

A client must have at least a standard (001) and a clearing (022) address.

Refer to BankWorks (API) Data Mapping documentation for possible values.

effectiveDate
date-only

The date in ISO 8601 format when the address becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, the current posting date is automatically assumed.

expiryDate
date-only

The date in ISO 8601 format when the address record is no longer taken into consideration. Can be used for temporary addresses. Date must be in the future.

addressLine1
string (35)
required

Address line typically used for building information but not limited to house name, number, floor, unit and block number.

addressLine2
string (35)

Address line typically used for street information such as street number and name.

addressLine3
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine4
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine5
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

contactName
string (35)

Main contact name for the address.

city
string (35)
required

Client’s city.

state
string (3)

3 digit identifier for the client’s state/region.

Refer to BankWorks (API) Data Mapping documentation for possible values.

country
string (3)
required

The ISO 3-letter country code. In cases where value consists of 3 digits, 000 means not applicable and 999 means applicable to all countries.

postCode
string (20)
required

Client’s postcode.

poBox
string (10)

P.O. Box details.

addressLanguage
string (3)

3-digit identifier for the client address language.

Refer to BankWorks (API) Data Mapping documentation for possible values.

telephone1
string (15)

Primary address fixed line number, for example, a client’s home or business telephone number.

telephone2
string (15)

Secondary address fixed line number for example a secondary business telephone number.

faxWork
string (15)

Office fax number.

deliveryMethod
string (3)

3-digit value indicating the preferred delivery option for correspondence. Defaulted to not applicable (000) if not provided.

Refer to BankWorks (API) Data Mapping documentation for possible values.

emailAddress
string (60)

Client’s e-mail address. This is required if deliveryMethod is set to 500 (E-mail).

recordDate
date-only

The date in ISO 8601 format for when the address record was created.

Relationships
kycClient
required

KYC/AML client who owns the address information. An address can only belong to one client.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type addresses .

Merchant Hierarchy Boarding

This use case section illustrates a sample sequential hierarchical merchant onboarding from top to bottom client level.

BankWORKS support multi-level hierarchies, the group being the top most level, the member being the outlet level (bottom level). Sub-groups are any nodes in between the group and member level.

The following example is intended to highlight an example how the /merchantApplications endpoint can be used for hierarchical onboarding.

1. GROUP LEVEL (Non-billing)

This call creates and processes a merchant application in a single request through the API gateway without the need to send individual creation and, in case of failure, revert requests as shown in the merchant onboarding use case above. This request is an orchestration of multiple calls into one but still follows the requirements mentioned in the main documentation for each resource. Please note that the access token must be valid for more than 30 seconds for this orchestration to take place.

The following resources are supported:

Resource Description
merchant (required) This is the main resource to which everything is related to. This must be provided at the top-level.
merchantAddendum The merchant addendum is related to the merchant and can be provided as part of the merchant resource.
merchantAddendumUsa The USA merchant addendum is related to the merchant and can be provided as part of the merchant resource. This is applicable only for USA merchants.
merchantAddendumColombia The Colombia merchant addendum is related to the merchant and can be provided as part of the merchant resource. This is applicable only for Colombia merchants.
clientReferences The client references are related to the merchant and can be provided as an array and part of the merchant resource.
merchantTaxStatus The tax types assigned to the merchant and their current status.
addresses (required) The addresses are related to the merchant and must be provided as an array and part of the merchant resource.
contracts (required) The contract is related to the merchant and must be provided as a single-element array and part of the merchant resource. clientLevel attribute should be set to 002 (Group level).
services The services are linked to a merchant through the contract and can be provided as an array and part of the contract resource.
riskRuleParameters The risk rule parameters defined specifically for the merchant linked through the contract and can be provided as an array and part of the contract resource.
settlementPackages The settlement packages are related to the merchant and can be provided as an array and part of the merchant resource.
mandateInformation A signed authorization (issued in a paper or electronic format) for SEPA direct debit payment in EURO currency given to the creditor by the debtor. It can be provided related to settlement package.
paymentInstructions The payment instructions are linked to a merchant through the account.
accounts (required) Accounts can be defined at two different levels:
  1. billing level - can be passed as an array and part of the respective settlementPackage resource
  2. non-billing level - can be passed as an array and part of the contract resource

For further details on the resources to be provided in the request, please refer to the individual requests in the merchant onboarding use case above.

In case of a successful onboarding, all the merchant data (including the generated IDs) will be retrieved and returned.

In case there are any errors, any successful resources created prior to the failing resource will be reverted and another merchant application with the correct data must be sent again. In order to identify the problematic resource which has thrown the error, make sure to refer to the pointer value found inside the meta element of the corresponding error. This will contain the path of the resource in error (if any). In cases where the resource is part of an array, a zero-based index will be included to identify the specific resource.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/merchantApplications

Request Headers

Content-Typeapplication/vnd.api+json
AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c

Request Body

Response

HTTP 201 (Created)

2. SUB-GROUP LEVEL (Non-billing)

This call creates and processes a merchant application in a single request through the API gateway without the need to send individual creation and, in case of failure, revert requests as shown in the merchant onboarding use case above. This request is an orchestration of multiple calls into one but still follows the requirements mentioned in the main documentation for each resource. Please note that the access token must be valid for more than 30 seconds for this orchestration to take place.

The following resources are supported:

Resource Description
merchant (required) This is the main resource to which everything is related to. This must be provided at the top-level.
merchantAddendum The merchant addendum is related to the merchant and can be provided as part of the merchant resource.
merchantAddendumUsa The USA merchant addendum is related to the merchant and can be provided as part of the merchant resource. This is applicable only for USA merchants.
merchantAddendumColombia The Colombia merchant addendum is related to the merchant and can be provided as part of the merchant resource. This is applicable only for Colombia merchants.
clientReferences The client references are related to the merchant and can be provided as an array and part of the merchant resource.
merchantTaxStatus The tax types assigned to the merchant and their current status.
addresses (required) The addresses are related to the merchant and must be provided as an array and part of the merchant resource.
contracts (required) The contract is related to the merchant and must be provided as a single-element array and part of the merchant resource. clientLevel attribute should be set to 003 (Sub-group level).
services The services are linked to a merchant through the contract and can be provided as an array and part of the contract resource.
riskRuleParameters The risk rule parameters defined specifically for the merchant linked through the contract and can be provided as an array and part of the contract resource.
settlementPackages The settlement packages are related to the merchant and can be provided as an array and part of the merchant resource.
mandateInformation A signed authorization (issued in a paper or electronic format) for SEPA direct debit payment in EURO currency given to the creditor by the debtor. It can be provided related to settlement package.
paymentInstructions The payment instructions are linked to a merchant through the account.
accounts (required) Accounts can be defined at two different levels:
  1. billing level - can be passed as an array and part of the respective settlementPackage resource
  2. non-billing level - can be passed as an array and part of the contract resource

For further details on the resources to be provided in the request, please refer to the individual requests in the merchant onboarding use case above.

In case of a successful onboarding, all the merchant data (including the generated IDs) will be retrieved and returned.

In case there are any errors, any successful resources created prior to the failing resource will be reverted and another merchant application with the correct data must be sent again. In order to identify the problematic resource which has thrown the error, make sure to refer to the pointer value found inside the meta element of the corresponding error. This will contain the path of the resource in error (if any). In cases where the resource is part of an array, a zero-based index will be included to identify the specific resource.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/merchantApplications

Request Headers

Content-Typeapplication/vnd.api+json
AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c

Request Body

Response

HTTP 201 (Created)

3. MEMBER LEVEL (Billing)

This call creates and processes a merchant application in a single request through the API gateway without the need to send individual creation and, in case of failure, revert requests as shown in the merchant onboarding use case above. This request is an orchestration of multiple calls into one but still follows the requirements mentioned in the main documentation for each resource. Please note that the access token must be valid for more than 30 seconds for this orchestration to take place.

The following resources are supported:

Resource Description
merchant (required) This is the main resource to which everything is related to. This must be provided at the top-level.
merchantAddendum The merchant addendum is related to the merchant and can be provided as part of the merchant resource.
merchantAddendumUsa The USA merchant addendum is related to the merchant and can be provided as part of the merchant resource. This is applicable only for USA merchants.
merchantAddendumColombia The Colombia merchant addendum is related to the merchant and can be provided as part of the merchant resource. This is applicable only for Colombia merchants.
clientReferences The client references are related to the merchant and can be provided as an array and part of the merchant resource.
merchantTaxStatus The tax types assigned to the merchant and their current status.
addresses (required) The addresses are related to the merchant and must be provided as an array and part of the merchant resource.
contracts (required) The contract is related to the merchant and must be provided as a single-element array and part of the merchant resource. clientLevel attribute should be set to 001 (Member level).
services The services are linked to a merchant through the contract and can be provided as an array and part of the contract resource.
riskRuleParameters The risk rule parameters defined specifically for the merchant linked through the contract and can be provided as an array and part of the contract resource.
settlementPackages (required) The settlement packages are related to the merchant and can be provided as an array and part of the merchant resource.
mandateInformation A signed authorization (issued in a paper or electronic format) for SEPA direct debit payment in EURO currency given to the creditor by the debtor. It can be provided related to settlement package.
paymentInstructions The payment instructions are linked to a merchant through the account.
accounts (required) Accounts can be defined at two different levels:
  1. billing level - can be passed as an array and part of the respective settlementPackage resource
  2. non-billing level - can be passed as an array and part of the contract resource

For further details on the resources to be provided in the request, please refer to the individual requests in the merchant onboarding use case above.

In case of a successful onboarding, all the merchant data (including the generated IDs) will be retrieved and returned.

In case there are any errors, any successful resources created prior to the failing resource will be reverted and another merchant application with the correct data must be sent again. In order to identify the problematic resource which has thrown the error, make sure to refer to the pointer value found inside the meta element of the corresponding error. This will contain the path of the resource in error (if any). In cases where the resource is part of an array, a zero-based index will be included to identify the specific resource.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/merchantApplications

Request Headers

Content-Typeapplication/vnd.api+json
AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c

Request Body

Response

HTTP 201 (Created)

Standalone Merchant - Single Request Onboarding

This call creates and processes a merchant application in a single request through the API gateway without the need to send individual creation and, in case of failure, revert requests as shown in the merchant onboarding use case above. This request is an orchestration of multiple calls into one but still follows the requirements mentioned in the main documentation for each resource. Please note that the access token must be valid for more than 30 seconds for this orchestration to take place.

The following resources are supported:

Resource Description
merchant (required) This is the main resource to which everything is related to. This must be provided at the top-level.
merchantAddendum The merchant addendum is related to the merchant and can be provided as part of the merchant resource.
merchantAddendumUsa The USA merchant addendum is related to the merchant and can be provided as part of the merchant resource. This is applicable only for USA merchants.
merchantAddendumColombia The Colombia merchant addendum is related to the merchant and can be provided as part of the merchant resource. This is applicable only for Colombia merchants.
clientReferences The client references are related to the merchant and can be provided as an array and part of the merchant resource.
merchantTaxStatus The tax types assigned to the merchant and their current status.
addresses (required) The addresses are related to the merchant and must be provided as an array and part of the merchant resource.
contracts (required) The contract is related to the merchant and must be provided as a single-element array and part of the merchant resource.
services The services are linked to a merchant through the contract and can be provided as an array and part of the contract resource.
riskRuleParameters The risk rule parameters defined specifically for the merchant linked through the contract and can be provided as an array and part of the contract resource.
settlementPackages The settlement packages are related to the merchant and can be provided as an array and part of the merchant resource.
mandateInformation A signed authorization (issued in a paper or electronic format) for SEPA direct debit payment in EURO currency given to the creditor by the debtor. It can be provided related to settlement package.
paymentInstructions The payment instructions are linked to a merchant through the account.
accounts (required) Accounts can be defined at two different levels:
  1. billing level - can be passed as an array and part of the respective settlementPackage resource
  2. non-billing level - can be passed as an array and part of the contract resource

For further details on the resources to be provided in the request, please refer to the individual requests in the merchant onboarding use case above.

In case of a successful onboarding, all the merchant data (including the generated IDs) will be retrieved and returned.

In case there are any errors, any successful resources created prior to the failing resource will be reverted and another merchant application with the correct data must be sent again. In order to identify the problematic resource which has thrown the error, make sure to refer to the pointer value found inside the meta element of the corresponding error. This will contain the path of the resource in error (if any). In cases where the resource is part of an array, a zero-based index will be included to identify the specific resource.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/merchantApplications

Request Headers

Content-Typeapplication/vnd.api+json
AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c

Request Body

Response

Logic Validation Error : HTTP 403 (Forbidden)

Attribute Validation Error : HTTP 422 (Unprocessable Entity (WebDAV) (RFC 4918))

Appl Proc Error : HTTP 422 (Unprocessable Entity (WebDAV) (RFC 4918))

Single Request - Successful : HTTP 201 (Created)

CardSchemeAddendum Integration : HTTP 201 (Created)

Risk Rule Parameter Integration (Single Request) : HTTP 201 (Created)

Merchant Entity Move

This use case is for moving a Merchant entity to a new client (also a Merchant type).

Please see Merchant Move request for more details.

Get Old Merchant

This is a sample request to retrieve and store the old merchant. This will provide the oldClientId variable as an example in the next request for entity move.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/merchants?filter[clientNumber]=00000199&fields=id

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[clientNumber] 00000199
fields id

Response

HTTP 200 (OK)

Merchant Move

This call will make an entity move from old client to a new client. Both should be under Merchant client type and should have the same MID (merchant ID - which can be found in merchants.ourReference attribute). It is also assumed that both merchants are successfully boarded during this stage.

If this use case is performed right after the new merchant is boarded successfully, the newClientId (as an example variable) can be retrieved from the last PATCH call for merchant application onboarding.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/merchants/{{newClientId}}/relationships/originalMerchant

Request Headers

Authorization Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

Response

HTTP 204 (No Content)

This call will retrieve the entity link between old and new client created by entity move request previously executed to confirm a successful entity move.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/merchants/{{newClientId}}?include=originalMerchant&fields=companyName

Request Headers

Authorization Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

include originalMerchant
fields companyName

Response

HTTP 200 (OK)

This call will close any active link of the merchant ID provided in the URL endpoint.

A null value for originating merchant should be passed in order to trigger this closure.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/merchants/{{newClientId}}/relationships/originalMerchant

Request Headers

Authorization Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

Response

Broker Boarding

This contains sequential onboarding calls for a Broker or Partner.

IMPORTANT NOTE:

  • In cases where a broker or a partner needs to onboard a merchant or another broker underneath its level or hierarchy, a link will be automatically established (in the background) during onboarding a child entity via the last API call of this section or of Merchant Onboarding.
  • It is assumed that broker already have user access rights to our APIs for him to onboard child entities underneath its level. Once a link has been established, the parent broker should only have access rights to his profile and the child entities onboarded by him.

1. Create Broker

This will create main details of a Broker / Partner.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/brokers

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type brokers with the following attributes:

Name Description
clientNumber
string (8)

8-digit BankWORKS client number that is unique per institution. System generated if not provided during new broker definition. A unique number must be provided if user defined.

clientType
string (3)
required

Indicates the broker’s client type.

Refer to BankWorks (API) Data Mapping documentation for possible values.

shortName
string (26)

Broker’s short name. If not provided during broker creation, the tradeName value will be used.

companyName
string (45)
required

The broker company name.

tradeName
string (40)
required

The name under which the company is trading.

registrationNumber
string (15)

The broker registration number.

language
string (3)
required

Broker’s language.

Refer to API Data Mapping documentation for account definitions available for the institution.

legalForm
string (3)
required

Related to the legal form of the broker, such as:

  • 000 n/a
  • 001 Limited
  • 002 Joint Stock
  • 003 Plc
  • 004 GmbH
  • 005 Societe Anonyme
  • 006 Company
  • 007 Corporation
  • 029 Sole Proprietor

Refer to BankWorks (API) Data Mapping documentation for possible values.

businessClass
string (4)

The ISO 4-digit business classification code.

Refer to API Data Mapping documentation for account definitions available for the institution.

vatRegistrationNumber
string (15)

A reference number used for clearing purposes.

mainContactDetails
object
Name Description
title
string

Broker main contact’s salutation. If not provided will be defaulted to not applicable, such as one of 000 (N/A), 001 (Mr), 002 (Mrs), 003 (Miss).

Refer to BankWorks (API) Data Mapping documentation for possible values.

contactName
string (15)
required

Broker’s main contact.

mobile1
string (15)

Primary mobile phone number.

mobile2
string (15)

Secondary mobile phone number.

rbsClientNumber
string (20)

External broker reference number.

^\d*$

website
string (100)

Broker website address details.

taxCountry
string (3)
required

The ISO 3-letter country code of the broker’s country for tax information. In cases where value consists of 3 digits:

  • 000 means not applicable
  • 999 means applicable to all countries

Refer to API Data Mapping documentation for account definitions available for the institution.

Relationships

Response

Response body will contain the created JSON:API resource of type brokers .

2. Create Standalone Broker Contract

Creation of a partner contract. This is only for standalone partners such as those who do not belong in a partner hierarchy.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/contracts

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type contracts with the following attributes:

Name Description
status
string (3)

Indicates the status of the client contract. If not provided, this will be defaulted to 001 (Active).

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientLevel
string (3)
required

Indicates the BankWORKS hierarchical level for the client contract. The following values are possible:

  • 002 - Group (top most client)
  • 003 - Sub-Group (any level between a Group and Member Client)
  • 001 - Member (outlet or transactional level merchant, applicable to standalone merchants as well)
effectiveDate
date-only

The date in ISO 8601 format on which the hierarchy link record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, posting date +1 value is assumed only post-boarding.

settlementMethod
string (3)
required

Indicates the method how the client will settle with the bank. Identifies how outstanding balances are settled. Required only when onboarding a new client.

Refer to BankWorks (API) Data Mapping documentation for possible values.

postingMethod
string (3)

The tariff under which the client falls when posting to the clients account.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientTariff
string (6)
required

Indicates the client tariff package assigned. Required only when onboarding a new client.

Refer to BankWorks (API) Data Mapping documentation for possible values.

transactionChargesTariff
string (6)

Indicates the applicable transaction charges tariff. Transaction charges are represented as productChargeDefinitions. This is an optional field and if not provided will default to not applicable 000000. If a tariff value is provided, the merchant services clientTariff value will not apply.

Refer to BankWorks (API) Data Mapping documentation for possible values.

chargeTierLevel
string (3)

Enables setting up of the same fee with different value high and value low triggers.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientScheme
string (6)

Indicates the rebate tariff applicable for the contract.

contractReference
string (8)

Merchant contract document reference.

bankReference
string (8)

External additional reference number of the merchant with the bank.

institutionAccountOfficer
string (3)

Officer in charge of the client contract.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientBranch
string (3)

Contract application branch details. Related to the institutionAccountOfficer.

Refer to BankWorks (API) Data Mapping documentation for possible values.

tierGroup
string (3)

An identifier used to group a set of rates that need to be applied during tiered pricing generation.

Refer to BankWorks (API) Data Mapping documentation for possible values.

entityId
string (3)

Entity identifier used to split GL entries and transactions generated for financial activity in a single processing institution across multiple legal entities.

riskRuleGroupId
string (3)

Identifier for the set of rules applies in the risk module.

Refer to BankWorks (API) Data Mapping documentation for possible values.

Relationships
contractDefinition
required

Link to a broker contract definition. These are available as business rules.

broker
required

Link to the broker resource ID previously defined in the broker resource creation stage.

parentContracts

Links to the parent contract, one level up the client hierarchy. The parent contract will have the current effective data as well as past or possible future effective iterations. The current effective can be determined by the effectiveDate value.

riskRuleParameters

One or more risk rule parameters this client contract is linked to.

Response

Response body will contain the created JSON:API resource of type contracts .

3. Create Settlement Package

This will define the settlement information including RBS bank account number of the broker and is MANDATORY only if a billing level account is to be created.

Multiple settlement information/package can be added (up to 99). This number will be set automatically and stored in settlementNumber as part of the resource ID.

For settlementPackages with related fundingClient, it is to be associated in the relationship from the request apart from broker relationship/linkage:

	"fundingClient": {
        "data": {
          "type": "fundingClients",
          "id": "{{fundingClientId}}"
        }
      }

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/settlementPackages

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

Response

4. Create Broker Account

This call is to create a broker account in BankWorks. This can be a billing or non-billing account.

Relationships associated with accounts should also include the following:

  • broker contract obtained from the previous call
  • accountDefinition obtained from Business Setup Configuration - Account & Service Definitions.
  • settlementPackages is only required to be passed if account is in billing level.

        "settlementPackage": {
            "data": {
              "type": "settlementPackages",
              "id": "clientNumber=10050000&settlementNumber=01"
            }
          }
    

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/accounts

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

Response

5. Create Standard Address

Creation of broker / partner addresses. Minimum requirement for broker address creation:

  • should create at least one Standard address (addressCategory 001)

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/addresses

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

Response

6. Create Service

Creation of broker / partner services. This call is optional.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/services

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

Response

7. Process Application

This call will onboard a broker or partner in BankWorks in Active (001) status.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/brokers/{{brokerId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

Response

Client Information

The client information section provides sample requests for managing any resource attributed to BankWORKS clients. In a BankWORKS a client is a term covering a number of third parties that would be linked to an insitution grouped into broad collections of client types. For example: - Merchants: All institution clients with acquiring capabilities for example, traditional merchants, ecommerce merchants, sole traders etc. - Brokers: Third party service that act between a merchant and institution reselling or providing a subset of the acquirer institution services offerred. A typical example would be an ISO client.

Merchants

A collection of request examples related to the merchant client. In BankWORKS a merchant client is broad term encompassing clients with transaction acquiring capabilities for example standard merchants, sole traders etc.

List of Merchants

This call retrieves a list of available merchants. It is possible request a specific list of merchant attributes, filter the list and sort by sending additional URL parameters.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/merchants?include=clientRelations

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

include clientRelations

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type merchants with clientRelationsas included resources.

The merchant resource may be filtered either directly using any of the available merchant attributes, or by filtering on the available relationship attributes. In this example request, merchants having an address in Malta are being returned. Furthermore, we are simplyfing the response by requesting only the tradeName, clientNumber and status attributes with the merchant resource. The country, postCode and state attributes of the addresses are being returned with the addresses resource included in the response.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/merchants?include=addresses&filter[addresses.country]=CAN&fields[merchants]=clientNumber,status,tradeName&fields[addresses]=postCode,state,country

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

include addresses
filter[addresses.country] CAN
fields[merchants] clientNumber,status,tradeName
fields[addresses] postCode,state,country

Response

HTTP 200 (OK)

Response body will contain the result of the JSON PATCH operation for the following resources: merchants addresses

Modify a Merchant

A request to modify a merchant properties. Refer to the list of amendable attributes provided for reference.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/merchants/clientNumber=10050000

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type merchants with the following attributes:

Name Description
status
string (3)

Indicates the current state of the merchant.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientType
string (3)

Indicates the merchant’s client type. If not provided during merchant creation, it will be defaulted to 002 (Merchant).

Refer to BankWorks (API) Data Mapping documentation for possible values.

shortName
string (26)

Merchant’s short name. If not provided during merchant creation, the tradeName value will be used.

firstName
string (15)

First name of the merchant owner. For the USA market this would be the first name of the owner if the merchant is a sole proprietor. Required for USA merchants with legalForm of 029 - Sole Proprietor.

middleName
string (15)

Middle name of the merchant owner. For USA merchants having a legalform of 029 - Sole Proprietor, the middleName would be used to store the middle initial followed by a full-stop (.) as per the Visa Acquirer Merchant Master File requirements.

lastName
string (26)

Last name of the merchant owner. For the USA market this would be the last name of the owner if the merchant is a sole proprietor. Required for USA merchants with legalForm of 029 - Sole Proprietor.

companyName
string (45)

The merchant company name.

tradeName
string (25)

The name under which the company is trading.

registrationNumber
string (15)

The merchant registration number.

vatRegion
string (3)

Merchant’s VAT region.

Refer to BankWorks (API) Data Mapping documentation for possible values.

language
string (3)

Merchant’s language.

Refer to BankWorks (API) Data Mapping documentation for possible values.

legalForm
string (3)

Related to the legal form of the merchant. Such as:

  • 000 n/a
  • 001 Limited
  • 002 Joint Stock
  • 003 Plc
  • 004 GmbH
  • 005 Societe Anonyme
  • 006 Company
  • 007 Corporation
  • 029 Sole Proprietor

Refer to BankWorks (API) Data Mapping documentation for possible values.

businessClass
string (4)

The ISO 4-digit business classification code.

vatRegistrationNumber
string (15)

Merchant’s VAT number.

ourReference
string (20)

A reference number used for clearing purposes, typically the merchant ID.

domesticMcc
string (4)

The ISO 4-digit domestic merchant category code.

mainContactDetails
object

Object grouping main merchant contact information.

Name Description
title
string (3)

Merchant main contact’s salutation. If not provided will be defaulted to not applicable. Such as:

  • 000 N/A
  • 001 Mr
  • 002 Mrs
  • 003 Miss

Refer to BankWorks (API) Data Mapping documentation for possible values.

contactName
string (35)

Merchant’s main contact.

mobile1
string (15)

Primary mobile phone number.

mobile2
string (15)

Secondary mobile phone number.

serviceTelephone
string (15)

Defines the card acceptor’s customer service telephone number. Required for USA and Canada based merchants.

This value is also required for merchants acquiring MasterCard that do not have a URL (/merchantsAddendum url attribute).

rbsClientNumber
string (20)

External merchant reference number.

website
string (100)

Merchant website address details.

eCommerceIndicator
string (3)

Indicates if the merchant business is eCommerce based or a traditional business.

Refer to BankWorks (API) Data Mapping documentation for possible values.

processingRegion
string (3)

Defines the processing region of the merchant. Used for transaction processing.

Refer to BankWorks (API) Data Mapping documentation for possible values.

taxRegion
string (3)

Merchant’s tax region.

Refer to BankWorks (API) Data Mapping documentation for possible values.

taxCountry
string (3)

The ISO 3-letter country code of the merchant’s country for tax information. In cases where value consists of 3 digits:

  • 000 means not applicable
  • 999 means applicable to all countries
Relationships
merchantAddendumColombia

Additional attributes specifically for merchants based in Colombia.

clientMappings

All client mappings available related to the merchant.

originalMerchant

This is the originating (old) merchant for which this merchant has been moved from. This is only done via PATCH request. Please see Merchant Entity Move use case for proper usage.

clientRelations

All virtual links related to the merchant.

merchantTaxStatus

All tax status records related to the merchant.

disputeCases

All dispute cases related to the merchant.

kycClients

All KYC/AML clients related to the merchant.

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type merchants .

Merchant Addendum Data

A collection requests on the merchant additional data resources which may contain a number of additional prorties, flags and reference values for a merchant: - merchantsAddendum - merchantsAddendum - clientReferences

Retrieve Addendum Data

Retrieve generic merchant addiditional data. A merchant may have one addendum record available.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/merchants/clientNumber=10050000/merchantAddendum

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

Retrieve Addendum Data - Successful 1 : HTTP 200 (OK)

Retrieve Addendum Data - Successful 2 : HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type merchantsAddendum .

Modify Addendum Data

A request to modify a merchant properties. Refer to the list of amendable attributes provided for reference.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/merchantsAddendum/clientNumber=10050000

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type merchantsAddendum with the following attributes:

Name Description
seasonalMerchant
string (3)

Flag to indicate if the merchant is a seasonal merchant or not. Such as:

  • 000 No
  • 001 Yes

Refer to BankWorks (API) Data Mapping documentation for possible values.)

feeProgramIndicator
string (3)

The fee program indicator used for the VISA Base 2 clearing file.

visaInterchangeProgram
string (10)

Stores the value of the Visa interchange program value.

visaInterchangeProgramQualification
string (3)

The ISO 3-digits used to determine the tier of the interchange.

mastercardInterchangeProgram
string (10)

Stores the value of the MasterCard AID.

mastercardInterchangeProgramQualification
string (3)

The ISO 3-digits used to determine the tier of the interchange.

socialSecurityNumber
string (9)

This attribute will contain the SSN, and it is required for Discover. It is also required when the taxIdNumberType in the merchantsAddendumUsa will be set to 002 SSN.

The value of this attribute in the response will always be returned in masked format.

vatTaxIndicator
string (6)

Tax tariff that will be charged to merchant related to merchant VAT.

Refer to BankWorks (API) Data Mapping documentation for possible values.

municipalCode
string (7)

The municipality code of the place where the transaction occurred.

merchantCountryOfOrigin
string (3)

Mastercard requirement for government owned merchants. The country of origin for government-controlled merchants must always be populated. This includes when the government-controlled merchant’s home country is the country where the government-controlled merchant is physically located and when the government-controlled merchant’s home country is not the country where the government-controlled merchant is physically located.

The format is in ISO 3-letter country code. E.g. NZL (New Zealand)

Refer to API Data Mapping documentation for account definitions available for the institution.

url
string (76)

The merchant’s main website address.

This value is also required for merchants acquiring MasterCard eCommerce and in case there is no main service telephone number (mainContactDetails.serviceTelephone).

independentSalesOrganisation
string (11)

Independent Sales Organisation ID value provided by Mastercard.

This value is equivalent to the merchantsAddendumUsa.independentSalesOrganisation attribute.

Relationships

Response

Modify Addendum Data - Successful 1 : HTTP 200 (OK)

Modify Addendum Data - Successful 2 : HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type merchantsAddendum .

Create Addendum Data

A request to create a merchant addendum data record. A merchant can only have one merchantsAddendum resource, which can also be defined during merchant onboarding stage.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/merchantsAddendum

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type merchantsAddendum with the following attributes:

Name Description
seasonalMerchant
string (3)

Flag to indicate if the merchant is a seasonal merchant or not. Such as:

  • 000 No
  • 001 Yes

Refer to BankWorks (API) Data Mapping documentation for possible values.)

feeProgramIndicator
string (3)

The fee program indicator used for the VISA Base 2 clearing file.

visaInterchangeProgram
string (10)

Stores the value of the Visa interchange program value.

visaInterchangeProgramQualification
string (3)

The ISO 3-digits used to determine the tier of the interchange.

mastercardInterchangeProgram
string (10)

Stores the value of the MasterCard AID.

mastercardInterchangeProgramQualification
string (3)

The ISO 3-digits used to determine the tier of the interchange.

socialSecurityNumber
string (9)

This attribute will contain the SSN, and it is required for Discover. It is also required when the taxIdNumberType in the merchantsAddendumUsa will be set to 002 SSN.

The value of this attribute in the response will always be returned in masked format.

vatTaxIndicator
string (6)

Tax tariff that will be charged to merchant related to merchant VAT.

Refer to BankWorks (API) Data Mapping documentation for possible values.

municipalCode
string (7)

The municipality code of the place where the transaction occurred.

merchantCountryOfOrigin
string (3)

Mastercard requirement for government owned merchants. The country of origin for government-controlled merchants must always be populated. This includes when the government-controlled merchant’s home country is the country where the government-controlled merchant is physically located and when the government-controlled merchant’s home country is not the country where the government-controlled merchant is physically located.

The format is in ISO 3-letter country code. E.g. NZL (New Zealand)

Refer to API Data Mapping documentation for account definitions available for the institution.

url
string (76)

The merchant’s main website address.

This value is also required for merchants acquiring MasterCard eCommerce and in case there is no main service telephone number (mainContactDetails.serviceTelephone).

independentSalesOrganisation
string (11)

Independent Sales Organisation ID value provided by Mastercard.

This value is equivalent to the merchantsAddendumUsa.independentSalesOrganisation attribute.

Relationships
merchant
required

Merchant related to the addendum record.

Response

Create Addendum Data - Successful 1 : HTTP 201 (Created)

Create Addendum Data - Successful 2 : HTTP 201 (Created)

Response body will contain the created JSON:API resource of type merchantsAddendum .

Delete Addendum

Delete a generic merchant addendum resource.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/merchantsAddendum/clientNumber=10050000

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Response

HTTP 204 (No Content)

Retrieve Addendum USA Data

Retrieve USA regional merchant addiditional data. This optional resource might be required for certain USA based merchants.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/merchants/clientNumber=10050000/merchantAddendumUsa

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type merchantsAddendumUsa .

Modify Addendum USA Data

A request to modify a merchant properties. Refer to the list of amendable attributes provided for reference.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/merchantsAddendumUsa/clientNumber=00000068

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type merchantsAddendumUsa with the following attributes:

Name Description
url
string (76)

Merchant URL information.

independentSalesOrganisation
string (11)

Independent Sales Organisation ID value provided by Mastercard.

This value is equivalent to the merchantsAddendum.independentSalesOrganisation attribute.

taxId
string (9)

TAX ID/TIN number used by the IRS. Requirement of the 1099k form report. This is required when the taxIdNumberType either:

  • 001 EIN
  • 003 ITIN
  • 004 ATIN
taxIdNumberType
string (3)

Indicates the type of TAX ID/TIN number used by the IRS. Requirement of the 1099k form report. When this is set to 002 SSN, the socialSecurityNumber in the merchantsAddendum is required.

information
string (200)

Information about what product/services are sold by the merchant.

visaInternationalAcquirerFeeFlag
string (3)

Flag indicating whether the Visa International Acquirer Fee is to be posted to client rather than institution account. Such as:

  • 000 means institution account
  • 001 means client account
federalTaxTariff
string (6)

Indicates the Federal tax fee tariff.

Relationships

Response

Modify Addendum USA Data - Error : HTTP 422 (Unprocessable Entity)

Modify Addendum USA Data - Successful : HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type merchantsAddendumUsa .

Create Addendum USA Data

A request to create a merchant addendum USA data record. A merchant can only have one merchantsAddendumUSA resource, which can also be defined during merchant onboarding stage. This would apply only for USA region merchants.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/merchantsAddendumUsa

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type merchantsAddendumUsa with the following attributes:

Name Description
url
string (76)

Merchant URL information.

independentSalesOrganisation
string (11)

Independent Sales Organisation ID value provided by Mastercard.

This value is equivalent to the merchantsAddendum.independentSalesOrganisation attribute.

taxId
string (9)

TAX ID/TIN number used by the IRS. Requirement of the 1099k form report. This is required when the taxIdNumberType either:

  • 001 EIN
  • 003 ITIN
  • 004 ATIN
taxIdNumberType
string (3)

Indicates the type of TAX ID/TIN number used by the IRS. Requirement of the 1099k form report. When this is set to 002 SSN, the socialSecurityNumber in the merchantsAddendum is required.

information
string (200)

Information about what product/services are sold by the merchant.

visaInternationalAcquirerFeeFlag
string (3)

Flag indicating whether the Visa International Acquirer Fee is to be posted to client rather than institution account. Such as:

  • 000 means institution account
  • 001 means client account
federalTaxTariff
string (6)

Indicates the Federal tax fee tariff.

Relationships
merchant
required

Addendum record for merchant based in USA.

Response

Create Addendum USA Data - Error 1 : HTTP 500 (Internal Server Error)

Create Addendum USA Data - Error 2 : HTTP 422 (Unprocessable Entity)

Create Addendum USA Data - Successful : HTTP 201 (Created)

Response body will contain the created JSON:API resource of type merchantsAddendumUsa .

Delete Addendum USA

Delete a USA regional merchant addendum resource.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/merchantsAddendum/clientNumber=00000068

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Response

HTTP 204 (No Content)

Retrieve Addendum Colombia

Retrieve Colombian merchant additional data that is related to merchant taxes. This optional resource might be required for certain Colombian based merchants.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/merchants/clientNumber=10050000/merchantAddendumColombia

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type merchantsAddendumColombia .

Modify Addendum Colombia

A request to modify a Colombian merchant’s additional properties. Refer to the list of amendable attributes provided for reference.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/merchantsAddendumColombia/{{merchantsAddendumColombiaId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type merchantsAddendumColombia with the following attributes:

Name Description
department
string (3)

Indicates the department code of the merchant that will be used for calculation of merchant tax ReteICA (Municipality Tax).

Refer to BankWorks (API) Data Mapping documentation for possible values.

municipalCode
string (5)

Indicates the municipal code of the merchant that will be used for calculation of merchant tax ReteICA (Municipality Tax).

Refer to BankWorks (API) Data Mapping documentation for possible values.

municipalTaxIndicator
boolean

This is used if the merchant will be charged with the municipality tax (ReteICA).

incomeTaxIndicator
string (6)

Tax tariff that will be charged to merchant related to merchant income (ReteFuente).

vatTaxIndicator
string (6)

Tax tariff that will be charged to merchant related to merchant VAT (ReteIVA).

Relationships

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type merchantsAddendumColombia .

Create Addendum Colombia

A request to create a Colombian merchant’s addendum data record. A merchant can only have one merchantsAddendumColombia resource, which can also be defined during merchant onboarding stage. This would only apply for Colombian and already onboarded merchants.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/merchantsAddendumColombia

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type merchantsAddendumColombia with the following attributes:

Name Description
department
string (3)

Indicates the department code of the merchant that will be used for calculation of merchant tax ReteICA (Municipality Tax).

Refer to BankWorks (API) Data Mapping documentation for possible values.

municipalCode
string (5)

Indicates the municipal code of the merchant that will be used for calculation of merchant tax ReteICA (Municipality Tax).

Refer to BankWorks (API) Data Mapping documentation for possible values.

municipalTaxIndicator
boolean

This is used if the merchant will be charged with the municipality tax (ReteICA).

incomeTaxIndicator
string (6)

Tax tariff that will be charged to merchant related to merchant income (ReteFuente).

vatTaxIndicator
string (6)

Tax tariff that will be charged to merchant related to merchant VAT (ReteIVA).

Relationships
merchant
required

Merchant information related to addendum record.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type merchantsAddendumColombia .

Delete Addendum Colombia

Delete Colombian merchant addendum identified by an ID. This is only allowed for merchants that are not yet on-boarded.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/merchantsAddendumColombia/{{merchantsAddendumColombiaId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Response

HTTP 204 (No Content)

Get Client Reference

Retrieval of all available merchant client reference values.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/merchants/clientNumber=10050000/clientReferences

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type clientReferences .

Update Client Reference

Amend the value of an existing client reference property.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/clientReferences/{{clientReferenceId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type clientReferences with the following attributes:

Name Description
referenceValue
string (36)

Value of client reference. E.g. 1234000-ABC

Relationships

Response

HTTP 201 (Created)

Response body will contain the updated JSON:API resource of type clientReferences .

Create Client Reference

Creation of a new client reference value for a merchant.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/clientReferences

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type clientReferences with the following attributes:

Name Description
referenceType
string (3)
required

Identifies the type of institution-specific client reference type.

Refer to BankWorks (API) Data Mapping documentation for possible values.

referenceValue
string (36)

Value of client reference. E.g. 1234000-ABC

Relationships
merchant
required

The merchant owner of the reference property.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type clientReferences .

Delete Client Reference

Delete a client reference resource.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/clientReferences/{{clientReferenceId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Response

Funding Clients

This section concerns funding information. In BankWORKS, funding clients represent the funding banks from which an institution may set up as a source of funds for merchant settlement. Funding banks are represented as clients in BankWORKS, categorised differently from other clients such as merchants.

Get a list of funding clients

Retrieve a full list of available funding clients. Funding clients may be used to link merchant settlement information to a funding bank. This may apply to both merchant boarding and client servicing scenarios.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/fundingClients

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type fundingClients .

Search for a funding client

An example search request for funding clients by companyName. Any desired attribute of a fundingClients resource may be used. This request can help identify a funding bank by using one or more attributes for filtering. Funding clients may be used to link merchant settlement information to a funding bank. This may apply to both merchant boarding and client servicing scenarios.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/fundingClients?filter[fundingClients][companyName]=ABC Bank

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Parameters

filter[fundingClients][companyName] ABC Bank

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type fundingClients .

Brokers

Various request examples related to an institution broker client. The broker client is broad categorisation of various client types that represent third parties working in partnership with the institution. Examples would include ISOs with merchant onboarding and servicing capabilities etc.

An example request of broker search by an attribute. Brokers may be filtered by one or more attributes. Depending on the filtering criteria and uniquess of the attributes selected, a list or a single broker may be returend. It is possible to filter by relationship attributes as well as request a specific response format by selecting the desired attributes as well sort by attribute(s).

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/brokers?filter[companyName]=Test

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[ourReference] {{MID}}
filter[companyName] Test

Response

Response body will contain the requested JSON:API resource of type brokers .

List of Brokers

This call retrieves a list of available institution brokers. It is possible request a specific list of broker attributes using sparse fieldsets, filter the list and sort by sending additional URL parameters.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/brokers?include=clientRelations

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

include clientRelations

Response

Response body will contain the requested JSON:API resource of type brokers with clientRelationsas included resources.

Modify a Broker

A request to modify a merchant properties. Refer to the list of amendable attributes provided for reference.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/brokers/{{brokerId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type brokers with the following attributes:

Name Description
status
string (3)

Indicates the broker current status.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientType
string (3)

Indicates the broker’s client type.

Refer to BankWorks (API) Data Mapping documentation for possible values.

shortName
string (26)

Broker’s short name. If not provided during broker creation, the tradeName value will be used.

companyName
string (45)

The broker company name.

tradeName
string (40)

The name under which the company is trading.

registrationNumber
string (15)

The broker registration number.

language
string (3)

Broker’s language.

Refer to API Data Mapping documentation for account definitions available for the institution.

legalForm
string (3)

Related to the legal form of the broker, such as:

  • 000 n/a
  • 001 Limited
  • 002 Joint Stock
  • 003 Plc
  • 004 GmbH
  • 005 Societe Anonyme
  • 006 Company
  • 007 Corporation
  • 029 Sole Proprietor

Refer to BankWorks (API) Data Mapping documentation for possible values.

businessClass
string (4)

The ISO 4-digit business classification code.

Refer to API Data Mapping documentation for account definitions available for the institution.

vatRegistrationNumber
string (15)

A reference number used for clearing purposes.

mainContactDetails
object
Name Description
title
string

Broker main contact’s salutation. If not provided will be defaulted to not applicable, such as one of 000 (N/A), 001 (Mr), 002 (Mrs), 003 (Miss).

Refer to BankWorks (API) Data Mapping documentation for possible values.

contactName
string (15)

Broker’s main contact.

mobile1
string (15)

Primary mobile phone number.

mobile2
string (15)

Secondary mobile phone number.

rbsClientNumber
string (20)

External broker reference number.

^\d*$

website
string (100)

Broker website address details.

taxCountry
string (3)

The ISO 3-letter country code of the broker’s country for tax information. In cases where value consists of 3 digits:

  • 000 means not applicable
  • 999 means applicable to all countries

Refer to API Data Mapping documentation for account definitions available for the institution.

Relationships

Response

Response body will contain the updated JSON:API resource of type brokers .

Addresses

Client address retrieval and maintenance requests. These would apply to the available client types supported, for example merchant and broker.

Client Addresses

Retrieve all the client addresses. In this example, a particular merchant\’s addresses are being returned. This would also apply to other client types such as a broker client. The result is also being sorted by addressCategory which defines the type of address as well as effectiveDate in reverse chronological order. Additional date filtering may be required if the desired result should filter out any future effective address entries from the result.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/merchants/clientNumber=10050000/addresses?sort=addressCategory,-effectiveDate

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

sort addressCategory,-effectiveDate

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type addresses .

Delete Address Record

Delete an address identified by an ID. This is only allowed for addresses which have a future dated effectiveDate value. It is not possible to delete currently effective or historical address records.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/addresses/clientNumber=00000002&addressCategory=022&effectiveDate=2020-05-01

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 204 (No Content)

Modify Address Record

A request to modify an existing future effective address record. The request can also be used to modify an address that has an effective date equal to the current posting date. For example, a newly address record was entered and set to be immediately effetctive. A problem was found and required an amendent to this record, using a PATCH request as shown here would allow modification of that address record. For future effective amendents new records need to be inserted. Refer to the POST request example for more information. The amendable resource attributes have been provided in the below table.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/addresses/clientNumber=00000002&addressCategory=022&effectiveDate=2020-05-01

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type addresses with the following attributes:

Name Description
expiryDate
date-only

The date in ISO 8601 format when the address record is no longer taken into consideration. Can be used for temporary addresses. Date must be in the future.

addressLine1
string (35)

Address line typically used for building information but not limited to house name, number, floor, unit and block number.

addressLine2
string (35)

Address line typically used for street information such as street number and name.

addressLine3
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine4
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine5
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

contactName
string (35)

Main contact name for the address.

city
string (35)

Client’s city.

state
string (3)

3 digit identifier for the client’s state/region.

Refer to BankWorks (API) Data Mapping documentation for possible values.

country
string (3)

The ISO 3-letter country code. In cases where value consists of 3 digits, 000 means not applicable and 999 means applicable to all countries.

postCode
string (20)

Client’s postcode.

poBox
string (10)

P.O. Box details.

addressLanguage
string (3)

3-digit identifier for the client address language.

Refer to BankWorks (API) Data Mapping documentation for possible values.

telephone1
string (15)

Primary address fixed line number, for example, a client’s home or business telephone number.

telephone2
string (15)

Secondary address fixed line number for example a secondary business telephone number.

faxWork
string (15)

Office fax number.

deliveryMethod
string (3)

3-digit value indicating the preferred delivery option for correspondence. Defaulted to not applicable (000) if not provided.

Refer to BankWorks (API) Data Mapping documentation for possible values.

emailAddress
string (60)

Client’s e-mail address. This is required if deliveryMethod is set to 500 (E-mail).

Relationships

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type addresses .

New Address Record

Creation of a new address record may cover 2 main use cases: - Defining a completely new record for a client, such adding a new type (addressCategory) of address to an existing client - Creating future effective changes to existing addresses. For example, a merchant would be moving to a new trading address within 6 months and a new address entry would be created with that future effectiveDate value. This can also be used to enter a new address modification that is immediately effective.

Note Should a modification on an address record effective on the same day the modification is to be made, a PATCH request needs to be sent. BankWORKS allows only 1 record per effectiveDate for a client address identified by a particular addressCategory.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/addresses

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type addresses with the following attributes:

Name Description
addressCategory
string (3)
required

The address category identifier for the returned client address resource are the following but not limited to:

  • 001 Standard
  • 006 Statement
  • 007 Location Address
  • 010 Contact Address
  • 022 Clearing Address
  • 202 Branch Office Address

A client must have at least a standard (001) and a clearing (022) address.

Refer to BankWorks (API) Data Mapping documentation for possible values.

effectiveDate
date-only

The date in ISO 8601 format when the address becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, the current posting date is automatically assumed.

expiryDate
date-only

The date in ISO 8601 format when the address record is no longer taken into consideration. Can be used for temporary addresses. Date must be in the future.

addressLine1
string (35)
required

Address line typically used for building information but not limited to house name, number, floor, unit and block number.

addressLine2
string (35)

Address line typically used for street information such as street number and name.

addressLine3
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine4
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

addressLine5
string (35)

Extra address properties that might be required and are not catered for by the attributes available.

contactName
string (35)

Main contact name for the address.

city
string (35)
required

Client’s city.

state
string (3)

3 digit identifier for the client’s state/region.

Refer to BankWorks (API) Data Mapping documentation for possible values.

country
string (3)
required

The ISO 3-letter country code. In cases where value consists of 3 digits, 000 means not applicable and 999 means applicable to all countries.

postCode
string (20)
required

Client’s postcode.

poBox
string (10)

P.O. Box details.

addressLanguage
string (3)

3-digit identifier for the client address language.

Refer to BankWorks (API) Data Mapping documentation for possible values.

telephone1
string (15)

Primary address fixed line number, for example, a client’s home or business telephone number.

telephone2
string (15)

Secondary address fixed line number for example a secondary business telephone number.

faxWork
string (15)

Office fax number.

deliveryMethod
string (3)

3-digit value indicating the preferred delivery option for correspondence. Defaulted to not applicable (000) if not provided.

Refer to BankWorks (API) Data Mapping documentation for possible values.

emailAddress
string (60)

Client’s e-mail address. This is required if deliveryMethod is set to 500 (E-mail).

Relationships
merchant

If address is a merchant address, provide the merchant resource ID

broker

If address is a broker address, provide the broker resource ID

kycClient

KYC/AML client who owns the address information. An address can only belong to one client.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type addresses .

Settlement Information

External RBS client settlement information. Client settlement information would be required for clients at billing and settlement point. A client in BankWORKS may have up to 99 settlement packages defined.

Delete Settlement Package

Delete a client settlementPackage.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/settlementPackages/{{settlementPackagesId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 204 (No Content)

Client Settlement Packages

Return the a particular client’s settlementPackages. This would apply to any client type that may have settlementPackages such as merchants or brokers.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/merchants/clientNumber=10050000/settlementPackages

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type settlementPackages .

List of Settlement Packages

Return all available client settlement records. Additional URL parameters may be provided in order to filter, sort or return specific attribute values as well.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/settlementPackages

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type settlementPackages .

Modify Settlement Package

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/settlementPackages/clientNumber=10050000&settlementNumber=01

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type settlementPackages with the following attributes:

Name Description
settlementCategory
string (3)

Settlement information category descriptor such as Payable or Receivable.

accountCurrency
string (3)

The currency of the counter bank account in SWIFT currency code format. In cases where value consists of 3 digits:

  • 998 means not applicable
  • 999 means applicable to all currencies
bankClearingNumber
string (8)

Information regarding the account’s bank details. For USA merchants, this must be a 9-digit value.

contingencyLiabilityAccount
string (11)

The RBS account that is used in case the counter RBS bank account is not able to fullfil the RECEIVABLE obligation.

correspondingBankAccount
string (16)

The NOSTRA/VOSTRO bank account of the affiliate institution.

correspondingBankNumber
string (35)

The bank number of the affiliate institution where the counter bank Nostro/Vostro are domiciled.

receiverCountryCode
string (3)

The country where the bank account information is located. In cases where value consists of 3 digits:

  • 000 means not applicable
  • 999 means applicable to all countries
noteText
string (2000)

Free text notes on the settlement package.

payableDetails
object
Name Description
counterBankAccount
string (35)

The counter RBS bank account number used to settle PAYABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for PAYABLES is domiciled.

paymentReference
string (24)

The reference to be included in the outward payment transaction.

confirmationMethod
string (3)

The routing channel used for example Fax, mail, SWIFT etc.

counterClientNumber
string (8)

The RBS client number used for PAYABLES.

bankTelNumber
string (15)

The counter bank telephone number used for PAYABLES.

bankContactName
string (35)

The counter bank contact name used for PAYABLES.

counterBankName
string (40)

The counter bank name used for PAYABLES.

counterBankAccountName
string (35)

The counter bank account name used for PAYABLES.

counterBankCity
string (35)

The counter bank’s city used for PAYABLES.

ibanReference
string (35)

The counter bank account IBAN used for PAYABLES.

fundingNarrative
string (18)

Contains funding information applicable for PAYABLES.

counterBranchCode
string (20)

The merchant bank branch code used for PAYABLES.

bankAccountType
string (3)

The merchant bank account type used for PAYABLES.

Refer to BankWorks (API) Data Mapping documentation for possible values.

receivableDetails
object
Name Description
counterBankAccount
string (35)

The counter RBS bank account number used to settle RECEIVABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for RECEIVABLES is domiciled.

bankTelNumber
string (15)

The counter bank telephone number used for RECEIVABLES.

bankContactName
string (35)

The counter bank contact name used for RECEIVABLES.

counterBankName
string (40)

The counter bank name used for RECEIVABLES.

counterBankAccountName
string (35)

The counter bank account name used for RECEIVABLES.

counterBankCity
string (35)

The counter bank’s city used for RECEIVABLES.

ibanReference
string (35)

The counter bank account IBAN used for RECEIVABLES.

fundingNarrative
string (18)

Contains funding information applicable for RECEIVABLES.

counterBranchCode
string (20)

The merchant bank branch code used for RECEIVABLES.

bankAccountType
string (3)

The merchant bank account type used for RECEIVABLES.

Refer to BankWorks (API) Data Mapping documentation for possible values.

Relationships
fundingClient

Funding bank for this merchant settlement package.

mandateInformation

SEPA DD mandate information for which the settlement is related to.

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type settlementPackages .

Create Settlement Package

Creating a new settlement package linked to an existing client. An individual client may have up to 99 different settlement packages defined. Only merchants residing at billing point would require settlementPackages to be set up.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/settlementPackages

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type settlementPackages with the following attributes:

Name Description
settlementCategory
string (3)

Settlement information category descriptor such as Payable or Receivable.

accountCurrency
string (3)
required

The currency of the counter bank account in SWIFT currency code format. In cases where value consists of 3 digits:

  • 998 means not applicable
  • 999 means applicable to all currencies
bankClearingNumber
string (8)

Information regarding the account’s bank details. For USA merchants, this must be a 9-digit value.

contingencyLiabilityAccount
string (11)

The RBS account that is used in case the counter RBS bank account is not able to fullfil the RECEIVABLE obligation.

correspondingBankAccount
string (16)

The NOSTRA/VOSTRO bank account of the affiliate institution.

correspondingBankNumber
string (35)

The bank number of the affiliate institution where the counter bank Nostro/Vostro are domiciled.

receiverCountryCode
string (3)

The country where the bank account information is located. In cases where value consists of 3 digits:

  • 000 means not applicable
  • 999 means applicable to all countries
noteText
string (2000)

Free text notes on the settlement package.

payableDetails
object
Name Description
counterBankAccount
string (35)

The counter RBS bank account number used to settle PAYABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for PAYABLES is domiciled.

paymentReference
string (24)

The reference to be included in the outward payment transaction.

confirmationMethod
string (3)

The routing channel used for example Fax, mail, SWIFT etc.

counterClientNumber
string (8)

The RBS client number used for PAYABLES.

bankTelNumber
string (15)

The counter bank telephone number used for PAYABLES.

bankContactName
string (35)

The counter bank contact name used for PAYABLES.

counterBankName
string (40)

The counter bank name used for PAYABLES.

counterBankAccountName
string (35)

The counter bank account name used for PAYABLES.

counterBankCity
string (35)

The counter bank’s city used for PAYABLES.

ibanReference
string (35)

The counter bank account IBAN used for PAYABLES.

fundingNarrative
string (18)

Contains funding information applicable for PAYABLES.

counterBranchCode
string (20)

The merchant bank branch code used for PAYABLES.

bankAccountType
string (3)

The merchant bank account type used for PAYABLES.

Refer to BankWorks (API) Data Mapping documentation for possible values.

receivableDetails
object
Name Description
counterBankAccount
string (35)

The counter RBS bank account number used to settle RECEIVABLES.

counterBankNumber
string (11)

The counter bank number where the counter bank account used for RECEIVABLES is domiciled.

bankTelNumber
string (15)

The counter bank telephone number used for RECEIVABLES.

bankContactName
string (35)

The counter bank contact name used for RECEIVABLES.

counterBankName
string (40)

The counter bank name used for RECEIVABLES.

counterBankAccountName
string (35)

The counter bank account name used for RECEIVABLES.

counterBankCity
string (35)

The counter bank’s city used for RECEIVABLES.

ibanReference
string (35)

The counter bank account IBAN used for RECEIVABLES.

fundingNarrative
string (18)

Contains funding information applicable for RECEIVABLES.

counterBranchCode
string (20)

The merchant bank branch code used for RECEIVABLES.

bankAccountType
string (3)

The merchant bank account type used for RECEIVABLES.

Refer to BankWorks (API) Data Mapping documentation for possible values.

Relationships
merchant

Link settlementPackage being defined to an existing merchant client. Although optional, a settlementPackage must be linked to a client.

broker

Link settlmentPackage being defined to an existing broker client

fundingClient

Optional link to funding client to indicate source of funds for merchant settlement.

mandateInformation

SEPA DD mandate information for which the settlement is related to.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type settlementPackages .

Mandate Information

This section will contain valid API requests to create, modify, and retrieve SEPA direct debit mandate information.

Get Mandate Information

Retrieve a SEPA mandate using any attribute filter such as uniqueMandateReference and / or include settlementPackages to know what settlement information the mandate is related to.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/mandateInformation/{{mandateInformationId}}?include=settlementPackages

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[uniqueMandateReference] MANDJMH002
include settlementPackages

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type mandateInformation with settlementPackagesas included resources.

Create Mandate Information

This request will create a new SEPA mandate and should be linked to existing settlement information via settlemenPackage API.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/mandateInformation

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

Response

HTTP 201 (Created)

Patch Mandate Information

This request will modify any attributes of SEPA mandate information provided by the related settlementPackage/s present for which the mandate is linked to.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/mandateInformation/{{mandateInformationId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

Response

HTTP 200 (OK)

Card Scheme Addendum

Get Card Scheme Addendum

Retrieve a card scheme addendum details.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/cardSchemeAddendum?filter[contracts.merchant.id]=clientNumber=10050000

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[contracts.merchant.id] clientNumber=10050000

Response

Get Card Scheme Addendum - Not Found : HTTP 200 (OK)

Get Card Scheme Addendum - Successful 1 : HTTP 200 (OK)

Get Card Scheme Addendum - Successful 2 : HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type cardSchemeAddendum .

Add Card Scheme Addendum

This call is used to add the Card Scheme Addendum.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/cardSchemeAddendum

Request Headers

Authorization Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type cardSchemeAddendum with the following attributes:

Name Description
cardOrganisation
string (3)
required

Indicates the card scheme for the addendum entry. Valid values:

  • 002 Mastercard
  • 003 Visa
  • 004 Amex
  • 006 Diners
  • 023 Discover
  • 032 Star
  • 033 NYCE
  • 034 Pulse
  • 035 Shazam
  • 036 ACCEL
  • 037 AFFN
  • 038 CULIANCE
  • 039 INTERLINK
  • 040 PAVD
  • 041 EBT

The cardOrganisation value determines the applicable card scheme object such as ‘visa’, ‘mastercard’ etc.. The object ‘pinDebit’ refers to any card scheme not represented by an individual object such as Star or NYCE.

effectiveDate
date-only

Indicates the cardSchemeAddendum resource when it will become effective.

If no value is provided prior to onboarding a new merchant the value defaults to the posting date available during merchant boarding.

Otherwise defaulted to the next processing date (posting date + 1).

visa
object

Applicable for cardOrganisation value 003.

Name Description
ipValue
string (10)

VISA Interchange Program indicator. If ipQualified is not empty/null, then only up to 10 hexadecimal characters are allowed, ie. A-F (in uppercase) and 0-9 with length up to 10 characters.

ipQualified
string (3)

VISA Interchange Qualification. This field is used to determine whether the merchant qualifies for particular Interchange Program. Depending on the Interchange Program a value is assigned by the card scheme upon registration of the merchant.

threshold
string (3)

VISA Interchange Threshold.

paymentFacilitatorId
string (11)

Payment Facilitator ID for VISA.

merchantClassification
string (3)

Indicates the classification of merchant whether it is a large or small merchant.

Refer to BankWorks (API) Data Mapping documentation for possible values.

aggregatorType
string (1)

Identifies the type of aggregator client:

  • P - Payment Facilitator

  • M - Marketplace.

mastercard
object

Applicable for cardOrganisation value 002.

Name Description
ipValue
string (10)

Mastercard Interchange Program indicator. Value accepted should be in 6-10 character length.

ipQualified
string (3)

Mastercard Interchange Qualification. This field is used to determine whether the merchant qualifies for particular Interchange Program. Depending on the Interchange Program a value is assigned by the card scheme upon registration of the merchant.

threshold
string (3)
paymentFacilitatorId
string (11)

Payment Facilitator ID for Mastercard.

amex
object

Applicable for cardOrganisation value 004.

Name Description
direct
string (3)

Indicates the merchant’s American Express payment processing option such as OptBlue or Direct.

disposition
string (3)

This will indicate whether the merchant is signed with OptBlue or Direct and if this was newly signed or moved from one Service Provider to another.

Refer to BankWorks (API) Data Mapping documentation for possible values.

salesChannelIndicator
string (3)

This is to identify the sales channel.

Refer to BankWorks (API) Data Mapping documentation for possible values.

salesAgentName
string (25)

This contains the identifier of the sales representative/agent.

discover
object

Applicable for cardOrganisation value 023.

Name Description
retained
string (3)

Indicates the merchant’s Discover payment processing option such as Retained or Non-Retained.

stub
string (3)

This flag should be used whenever a merchant STUB record at Discover needs to be closed off. This means that whenever a merchant contract is closed off with Discover, this flag should be enabled ‘001’ which will in turn trigger a STUB closure instruction within the Discover registration file.

debtRepaymentIndicator
string (3)

This will indicate for the repayment of consumer loans including auto, student, mortgages, and credit card balances occurring in the United States within specified MCCs.

statusCode
string (3)

Indicates the discover account closure codes.

programVerificationIndicator
string (10)

Indicates the unique identification number assigned by discover to a large merchant based on a pricing contract.

diners
object

Applicable for cardOrganisation value 006.

Name Description
intesCode
string (4)

A value that the scheme assigns to the merchant which will be inherited during transaction processing and sent back to the card scheme during clearing.

pinDebit
object

Applicable to any ONE of the following cardOrganisation values 032, 033, 034, 035, 036, 037, 038, 039, 040, 041.

Name Description
ipQualified
string (3)

This field is used to determine whether the merchant qualifies for particular Interchange Program. Depending on the Interchange Program a value is assigned by the card scheme upon registration of the merchant.

registered
string (3)

This indicates if the merchant is registered with the Network. It is used to drive certain fee functionality depending on whether the merchant is registered or not. Transactions are still accepted however fees might differ.

Relationships
contracts
required

The contract applicable to this cardSchemeAddendum.

Response

Add Card Scheme Addendum - Error 0 : HTTP 422 (Unprocessable Entity)

Add Card Scheme Addendum - Error 1 : HTTP 422 (Unprocessable Entity)

Add Card Scheme Addendum - Successful 1 : HTTP 201 (Created)

Add Card Scheme Addendum - Successful 2 : HTTP 201 (Created)

Response body will contain the created JSON:API resource of type cardSchemeAddendum .

Add Card Scheme Addendum - Amex

This call is used to add the Card Scheme Addendum.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/cardSchemeAddendum

Request Headers

Authorization Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type cardSchemeAddendum with the following attributes:

Name Description
cardOrganisation
string (3)
required

Indicates the card scheme for the addendum entry. Valid values:

  • 002 Mastercard
  • 003 Visa
  • 004 Amex
  • 006 Diners
  • 023 Discover
  • 032 Star
  • 033 NYCE
  • 034 Pulse
  • 035 Shazam
  • 036 ACCEL
  • 037 AFFN
  • 038 CULIANCE
  • 039 INTERLINK
  • 040 PAVD
  • 041 EBT

The cardOrganisation value determines the applicable card scheme object such as ‘visa’, ‘mastercard’ etc.. The object ‘pinDebit’ refers to any card scheme not represented by an individual object such as Star or NYCE.

effectiveDate
date-only

Indicates the cardSchemeAddendum resource when it will become effective.

If no value is provided prior to onboarding a new merchant the value defaults to the posting date available during merchant boarding.

Otherwise defaulted to the next processing date (posting date + 1).

amex
object

Applicable for cardOrganisation value 004.

Name Description
direct
string (3)

Indicates the merchant’s American Express payment processing option such as OptBlue or Direct.

disposition
string (3)
required

This will indicate whether the merchant is signed with OptBlue or Direct and if this was newly signed or moved from one Service Provider to another.

Refer to BankWorks (API) Data Mapping documentation for possible values.

salesChannelIndicator
string (3)

This is to identify the sales channel.

Refer to BankWorks (API) Data Mapping documentation for possible values.

salesAgentName
string (25)

This contains the identifier of the sales representative/agent.

Relationships
contracts
required

The contract applicable to this cardSchemeAddendum.

Response

Add Card Scheme Addendum - Amex - Error : HTTP 400 (Bad Request)

Add Card Scheme Addendum - Amex - Successful : HTTP 201 (Created)

Response body will contain the created JSON:API resource of type cardSchemeAddendum .

Modify Card Scheme Addendum

This call is to modify the existing card scheme addendum information.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/cardSchemeAddendum/{{cardSchemeAddendumId}}

Request Headers

Authorization Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type cardSchemeAddendum with the following attributes:

Name Description
visa
object

Applicable for cardOrganisation value 003.

Name Description
ipValue
string (10)

VISA Interchange Program indicator. If ipQualified is not empty/null, then only up to 10 hexadecimal characters are allowed, ie. A-F (in uppercase) and 0-9 with length up to 10 characters.

ipQualified
string (3)

VISA Interchange Qualification. This field is used to determine whether the merchant qualifies for particular Interchange Program. Depending on the Interchange Program a value is assigned by the card scheme upon registration of the merchant.

threshold
string (3)

VISA Interchange Threshold.

paymentFacilitatorId
string (11)

Payment Facilitator ID for VISA.

merchantClassification
string (3)

Indicates the classification of merchant whether it is a large or small merchant.

Refer to BankWorks (API) Data Mapping documentation for possible values.

aggregatorType
string (1)

Identifies the type of aggregator client:

  • P - Payment Facilitator

  • M - Marketplace.

mastercard
object

Applicable for cardOrganisation value 002.

Name Description
ipValue
string (10)

Mastercard Interchange Program indicator. Value accepted should be in 6-10 character length.

ipQualified
string (3)

Mastercard Interchange Qualification. This field is used to determine whether the merchant qualifies for particular Interchange Program. Depending on the Interchange Program a value is assigned by the card scheme upon registration of the merchant.

threshold
string (3)
paymentFacilitatorId
string (11)

Payment Facilitator ID for Mastercard.

amex
object

Applicable for cardOrganisation value 004.

Name Description
direct
string (3)

Indicates the merchant’s American Express payment processing option such as OptBlue or Direct.

disposition
string (3)

This will indicate whether the merchant is signed with OptBlue or Direct and if this was newly signed or moved from one Service Provider to another.

Refer to BankWorks (API) Data Mapping documentation for possible values.

salesChannelIndicator
string (3)

This is to identify the sales channel.

Refer to BankWorks (API) Data Mapping documentation for possible values.

salesAgentName
string (25)

This contains the identifier of the sales representative/agent.

discover
object

Applicable for cardOrganisation value 023.

Name Description
retained
string (3)

Indicates the merchant’s Discover payment processing option such as Retained or Non-Retained.

stub
string (3)

This flag should be used whenever a merchant STUB record at Discover needs to be closed off. This means that whenever a merchant contract is closed off with Discover, this flag should be enabled ‘001’ which will in turn trigger a STUB closure instruction within the Discover registration file.

debtRepaymentIndicator
string (3)

This will indicate for the repayment of consumer loans including auto, student, mortgages, and credit card balances occurring in the United States within specified MCCs.

statusCode
string (3)

Indicates the discover account closure codes.

programVerificationIndicator
string (10)

Indicates the unique identification number assigned by discover to a large merchant based on a pricing contract.

diners
object

Applicable for cardOrganisation value 006.

Name Description
intesCode
string (4)

A value that the scheme assigns to the merchant which will be inherited during transaction processing and sent back to the card scheme during clearing.

pinDebit
object

Applicable to any ONE of the following cardOrganisation values 032, 033, 034, 035, 036, 037, 038, 039, 040, 041.

Name Description
ipQualified
string (3)

This field is used to determine whether the merchant qualifies for particular Interchange Program. Depending on the Interchange Program a value is assigned by the card scheme upon registration of the merchant.

registered
string (3)

This indicates if the merchant is registered with the Network. It is used to drive certain fee functionality depending on whether the merchant is registered or not. Transactions are still accepted however fees might differ.

Relationships

Response

Modify Card Scheme Addendum - Error 0 : HTTP 401 (Unauthorized)

Modify Card Scheme Addendum - Error 1 : HTTP 422 (Unprocessable Entity)

Modify Card Scheme Addendum - Error 2 : HTTP 403 (Forbidden)

Modify Card Scheme Addendum - Successful 1 : HTTP 200 (OK)

Modify Card Scheme Addendum - Successful 2 : HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type cardSchemeAddendum .

Delete Card Scheme Addendum

This call is to delete the existing card scheme addendum information by specifying the resource Id.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/cardSchemeAddendum/{{cardSchemeAddendumId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Response

Delete Card Scheme Addendum - Error : HTTP 403 (Forbidden)

Delete Card Scheme Addendum - Successful : HTTP 204 (No Content)

Client Mapping

Add Client Mapping

This call is used to add the client mapping record of a particular merchant.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/clientMappings

Request Headers

Authorization Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type clientMappings with the following attributes:

Name Description
transactionCurrency
string (3)

Indicates the currency applicable to the client mapping. Default value when it is not pass is 999 - means applicable to all currencies.

groupNumber
string (8)

8-digit number indicating a billing and settlement hiearchical group. In this case, the group number indicates the hierarchy the contract form parts of. This field’s value is auto-generated.

businessClass
string (4)

The ISO 4-digit business classification code that the client mapping value is applies to. Default value when it is not pass is 9999 - means applicable to all business classification.

cardOrganisation
string (3)

Indicates the card scheme of client mapping. Default value when it is not pass is 999 - means applicable to all card organization. Valid values:

  • 002 Mastercard
  • 003 Visa
  • 004 Amex OptBlue
  • 006 Diners
  • 023 Discover
  • 030 Discover Retained
  • 031 Amex Direct
  • 032 Star
  • 033 NYCE
  • 034 Pulse
  • 035 Shazam
  • 036 ACCEL
  • 037 AFFN
  • 038 CULIANCE
  • 039 INTERLINK
  • 040 PAVD
  • 041 EBT

The cardOrganisation value determines the applicable card scheme object such as visa, mastercard etc.. The object pinDebit refers to any card scheme not represented by an individual object such as Star or NYCE.

acquiringBin
string (6)

Indicates the acquiring bank BIN number that the client mapping value applies to. Default value when it is not pass is 999999 - means applicable to all acquiring bank.

sequenceNumber
string (3)
required

A value indicating the type of merchant ID which based on setup might be automatically generated or provided manually.

Refer to BankWorks (API) Data Mapping documentation for possible values.

allGroups
boolean

All merchant contract groups or not. Every mechant contract is bound to group which defines the hierarchy. Setting this value to true will apply the ID to all available merchant groups should the merchant have more than one service contract assigned. Otherwise, if false, the related contract needs to be linked to.

referenceNumber
string (20)

Client mapping reference value which can either be automatically generated or entered manually depending on the sequenceNumber value and associated setup. Generation method of 020 and 021 will trigger the automatic generation value for this field.

Relationships
merchant
required

Link the mapping value to the merchant client.

contracts

Optional link to the merchant contract in order to link the mapping value to a particular hierarchy group. This will be REQUIRED should the allGroups value provided be false.

Response

Response body will contain the created JSON:API resource of type clientMappings .

Add Client Mapping with Contract

This call is used to add the client mapping record of a particular merchant.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/clientMappings

Request Headers

Authorization Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type clientMappings with the following attributes:

Name Description
transactionCurrency
string (3)

Indicates the currency applicable to the client mapping. Default value when it is not pass is 999 - means applicable to all currencies.

groupNumber
string (8)

8-digit number indicating a billing and settlement hiearchical group. In this case, the group number indicates the hierarchy the contract form parts of. This field’s value is auto-generated.

businessClass
string (4)

The ISO 4-digit business classification code that the client mapping value is applies to. Default value when it is not pass is 9999 - means applicable to all business classification.

cardOrganisation
string (3)

Indicates the card scheme of client mapping. Default value when it is not pass is 999 - means applicable to all card organization. Valid values:

  • 002 Mastercard
  • 003 Visa
  • 004 Amex OptBlue
  • 006 Diners
  • 023 Discover
  • 030 Discover Retained
  • 031 Amex Direct
  • 032 Star
  • 033 NYCE
  • 034 Pulse
  • 035 Shazam
  • 036 ACCEL
  • 037 AFFN
  • 038 CULIANCE
  • 039 INTERLINK
  • 040 PAVD
  • 041 EBT

The cardOrganisation value determines the applicable card scheme object such as visa, mastercard etc.. The object pinDebit refers to any card scheme not represented by an individual object such as Star or NYCE.

acquiringBin
string (6)

Indicates the acquiring bank BIN number that the client mapping value applies to. Default value when it is not pass is 999999 - means applicable to all acquiring bank.

sequenceNumber
string (3)
required

A value indicating the type of merchant ID which based on setup might be automatically generated or provided manually.

Refer to BankWorks (API) Data Mapping documentation for possible values.

allGroups
boolean

All merchant contract groups or not. Every mechant contract is bound to group which defines the hierarchy. Setting this value to true will apply the ID to all available merchant groups should the merchant have more than one service contract assigned. Otherwise, if false, the related contract needs to be linked to.

referenceNumber
string (20)

Client mapping reference value which can either be automatically generated or entered manually depending on the sequenceNumber value and associated setup. Generation method of 020 and 021 will trigger the automatic generation value for this field.

Relationships
merchant
required

Link the mapping value to the merchant client.

contracts

Optional link to the merchant contract in order to link the mapping value to a particular hierarchy group. This will be REQUIRED should the allGroups value provided be false.

Response

Response body will contain the created JSON:API resource of type clientMappings .

Get Client Mappings

Retrieve a client mapping details then include either the merchant, brokers or contracts to know for example the merchant information of the client mapping.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/clientMappings?filter[merchant.id]=clientNumber=88800641&sort=cardOrganisation

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[merchant.id] clientNumber=88800641
sort cardOrganisation

Response

Response body will contain the requested JSON:API resource of type clientMappings .

Modify Client Mapping

This call is to modify existing client mapping information. A client mapping resource ID is needed to only modify a specific client mapping.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/clientMappings/{{clientMappingId}}

Request Headers

Authorization Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type clientMappings with the following attributes:

Name Description
groupNumber
string (8)

8-digit number indicating a billing and settlement hiearchical group. In this case, the group number indicates the hierarchy the contract form parts of. This field’s value is auto-generated.

referenceNumber
string (20)

Client mapping reference value which can either be automatically generated or entered manually depending on the sequenceNumber value and associated setup. Generation method of 020 and 021 will trigger the automatic generation value for this field.

Relationships

Response

Response body will contain the updated JSON:API resource of type clientMappings .

Delete Client Mapping

This call is to delete existing client mapping information by specifying the resource Id.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/clientMappings/{{clientMappingId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Response

Response body will contain the deleted JSON:API resource of type clientMappings .

Client Relation

Add Client Relation

This call is used to add a new client virtual link record.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/clientRelations

Request Headers

Authorization Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type clientRelations with the following attributes:

Name Description
sourceClient
string (8)
required

The source client number of the virtual link.

destinationClient
string (8)
required

The destination client number of the virtual link.

linkType
string (3)
required

Indicates the link type of the virtual link record such as:

  • 008 (Merchant → ISO)
  • 021 (Merchant → Beneficiary Owner)

Refer to API Data Mapping documentation for other possible values.

status
string (3)

The current status of the virtual link.

  • 001 Active
  • 002 Closed.

Refer to API Data Mapping documentation for other possible values.

effectiveDate
date-only

The date in ISO 8601 format when the virtual link becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, the current posting date is automatically assumed.

Response

Add Client Relation - Successful : HTTP 201 (Created)

Add Client Relation - Error (Source not found) : HTTP 404 (Not Found)

Add Client Relation - Error (Dest not found) : HTTP 404 (Not Found)

Add Client Relation - Error (Link Type) : HTTP 404 (Not Found)

Response body will contain the created JSON:API resource of type clientRelations .

Get Client Relations

Retrieve all the virtual links between clients.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/clientRelations

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type clientMappings .

Modify Client Relation

This call is to modify an existing virtual link record. A client relation resource ID is needed to only modify a specific client virtual link record.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/clientRelations/{{clientRelationId}}

Request Headers

Authorization Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type clientRelations with the following attributes:

Name Description
status
string (3)

The current status of the virtual link.

  • 001 Active
  • 002 Closed.

Refer to API Data Mapping documentation for other possible values.

Response

Modify Client Relation - Successful : HTTP 200 (OK)

Modify Client Relation - Error : HTTP 422 (Unprocessable Entity)

Response body will contain the updated JSON:API resource of type clientRelations .

Delete Client Relation

This call is to delete an existing client virtual link record by specifying the resource Id.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/clientRelations/{{clientRelationId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Response

Delete Client Relation - Successful : HTTP 204 (No Content)

Delete Client Relation - Error : HTTP 403 (Forbidden)

Response body will contain the deleted JSON:API resource of type clientRelations .

Merchant Tax Staus

This section will contain valid API requests to create, modify, and retrieve Merchant tax status.

Merchant Tax Status

Retrieve merchant tax status record history. A merchant may have one tax status record available.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/merchants/clientNumber=10050000/merchantTaxStatus

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

Merchant Tax Status - Error : HTTP 200 (OK)

Merchant Tax Status - Successful : HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type merchantTaxStatus .

Modify Merchant Tax Status

A request to modify an existing future effective merchant tax status record. The request can also be used to modify the merchant tax status that has an effective date equal to the current posting date. Then for future effective amendments new records need to be inserted. Refer to the POST request example for more information. The amendable resource attributes have been provided in the below table.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/merchantTaxStatus/{{merchantTaxStatusId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type merchantTaxStatus with the following attributes:

Name Description
taxType
string (3)

Indicates the type of merchant tax.

Refer to BankWorks (API) Data Mapping documentation for possible values.

taxStatus
string (3)

Indicates the current status of merchant tax type.

Refer to BankWorks (API) Data Mapping documentation for possible values.

effectiveDate
date-only

The date in ISO 8601 format on which the merchant tax status record becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, posting date value is assumed.

expiryDate
date-only

The date in ISO 8601 format when the merchant tax status can no longer be used.

recordDate
date-only

The date in ISO 8601 format on which the merchant tax status record is created. Defaulted to the current posting date when a new record is created

Relationships
merchant

Merchant information related to merchant tax status record.

Response

Modify Merchant Tax Status - Error 1 : HTTP 404 (Not Found)

Modify Merchant Tax Status - Error 2 : HTTP 422 (Unprocessable Entity)

Modify Merchant Tax Status - Successful : HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type merchantTaxStatus .

Delete Merchant Tax Status

Delete merchant taxt status record identified by an ID. This is only allowed for those records which have a future dated effectiveDate value. It is not possible to delete currently effective or historical merchant tax status records.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/merchantTaxStatus/{{merchantTaxStatusId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 204 (No Content)

New Merchant Tax Status

The POST request can be sent whenever a merchant tax status record is effective in the past needs to be modified by creating either:

  • a new merchant tax status record to be effective immediately (effectiveDate set to the current posting date or null). This can be done in cases the current effective record is a past entry.
  • a new merchant tax status record to be future effective. This modifications to be set in the future which will be effective on a particular date

Note: Should the current effective merchant tax status record have an effectiveDate value that is equal to the current posting date, a PATCH request needs to be sent.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/merchantTaxStatus

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type merchantTaxStatus with the following attributes:

Name Description
taxType
string (3)
required

Indicates the type of merchant tax.

Refer to BankWorks (API) Data Mapping documentation for possible values.

taxStatus
string (3)
required

Indicates the current status of merchant tax type.

Refer to BankWorks (API) Data Mapping documentation for possible values.

effectiveDate
date-only

The date in ISO 8601 format on which the merchant tax status record becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, posting date value is assumed.

expiryDate
date-only
required

The date in ISO 8601 format when the merchant tax status can no longer be used.

recordDate
date-only

The date in ISO 8601 format on which the merchant tax status record is created. Defaulted to the current posting date when a new record is created

Relationships
merchant

Merchant information related to merchant tax status record.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type merchantTaxStatus .

Velocity Parameters

Velocity Parameters section covers the management of merchant velocity rules. Creation and modification of merchant velocity parameter can be done only at service level, contract level setup cannot be created or modified through API.

Delete Merchant Velocity Parameters

A request to delete an individual mercahnt velocity parameter. Deletion can be done only for merchant level rules, contract level rules cannot be deleted.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/merchantVelocityParameters/{{merchantVelocityParametersId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Response

HTTP 204 (No Content)

Merchant Velocity Parameters

In this example, the merchant velocity parameters linked to a client contract are being returned. In order to identify a merchant contract refer to the client contract example.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/contracts/clientNumber=10050000&groupNumber=00000001&effectiveDate=2020-04-01&clientLevel=001/merchantVelocityParameters

Request Headers

Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type merchantVelocityParameters .

Modify Merchant Velocity Parameters

A request to modify an existing individual merchant velocity parameter. Contract level velocity parameter cannot be updated.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/merchantVelocityParameters/{{merchantVelocityParametersId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type merchantVelocityParameters with the following attributes:

Name Description
dailyLimitAmount
object

Total amount of transactions allowed for this velocity parameter within a 24-hour period. Note that the limit amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

dailyLimitFrequency
number

Total number of transactions allowed for this velocity parameter within a 24-hour period.

maximum: 99999999

singleTransactionLimit
object

Maximum transaction amount allowed for a single transaction for this velocity parameter. Note that the limit amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

notificationPercent
number

The percentage of the limit after which, notifications should be considered.

maximum: 99

notificationPercentInterval
number

The percentage interval upon which the notification is triggered.

maximum: 99

isContractParameter
boolean

Indicates if the merchant velocity parameter is a contract level rule, part of the service contract setup, or a merchant specific rule.

allServices
boolean

Indicates if the rule applies to all merchant services or not.

Relationships
services
required

Services that the merchant velocity parameter is applicable to. Services are returned regardless of their effectiveDate value.

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type merchantVelocityParameters .

Create Merchant Velocity Parameters

A request to create new individual merchant velocity parameter. Contract level velocity rules cannot be created.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/merchantVelocityParameters

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type merchantVelocityParameters with the following attributes:

Name Description
dailyLimitAmount
object

Total amount of transactions allowed for this velocity parameter within a 24-hour period. Note that the limit amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

dailyLimitFrequency
number

Total number of transactions allowed for this velocity parameter within a 24-hour period.

maximum: 99999999

singleTransactionLimit
object

Maximum transaction amount allowed for a single transaction for this velocity parameter. Note that the limit amount currencies MUST match. Maximum allowed length for the value attribute (including decimal point) is 18.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

notificationPercent
number

The percentage of the limit after which, notifications should be considered.

maximum: 99

notificationPercentInterval
number

The percentage interval upon which the notification is triggered.

maximum: 99

transactionType
string (3)

Indicates the type of transaction that the velocity parameter is applicable to.

Refer to BankWorks (API) Data Mapping documentation for possible values.

transactionCurrency
string (3)

Indicates the transaction currency the velocity parameter applies to. The transaction currency is in 3-letter ISO SWIFT format. Value 999 is not allowed. In cases where value consists of 3 digits:

  • 998 means not applicable
cardBrand
string

Indicates the card brand the velocity parameter applies to. This works in conjunction with the related merchant service. A value of 999, indicating that the velocity rule applies to all card brands is also acceptable.

Refer to BankWorks (API) Data Mapping documentation for possible values.

countryGroup
string

Identifies the country grouping the velocity parameter applies to. The country grouping is a virtual group of countries that is defined to classify a number of countries under a common banner, for example high risk countries, blocked countries etc.

Refer to BankWorks (API) Data Mapping documentation for possible values.

isContractParameter
boolean

Indicates if the merchant velocity parameter is a contract level rule, part of the service contract setup, or a merchant specific rule.

allServices
boolean

Indicates if the rule applies to all merchant services or not.

Relationships
services
required

Services that the merchant velocity parameter is applicable to. Services are returned regardless of their effectiveDate value.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type merchantVelocityParameters .

Client Contracts

In BankWORKS, a client contract represents a service contract assignment to a merchant or other clients that can be assigned service contracts, such as brokers. This results in the contract being assigned a groupNumber indicating the hierarchy group. This applies to both standalone and hierarchical merchants. Each contract modification has an effectiveDate property indicating when that record becomes effective from a processing point of view.

Delete Contract

Delete a client contract. Deletion is only supported for future effective contracts, having an effective date greater than the current posting date.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/contracts/clientNumber=10050000&groupNumber=00000001&effectiveDate=2020-04-01&clientLevel=001

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

Client Contracts

A request to retrieve client contracts. In this request example, additional filtering has been applied to filter by effectiveDate to be less or equal than the current date. The result is also being sorted by groupNumber and effectiveDate in descending order. This will result in the latest and current effetive contract being returned first, followed by a list of historical versions of the contract organised by reverse chronoligical order.

There can be cases where the future effective contract amendments would also be desired. In this case the filtering criteria can be amended as necessary. It is also possible to filter further using other attributes and also relationship based filtering if desired.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/merchants/clientNumber=10050000/contracts?filter[effectiveDate][LE]=2020-04-01&sort=groupNumber,-effectiveDate

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[effectiveDate][LE] 2020-04-01
sort groupNumber,-effectiveDate

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type contracts .

Modify Contract Record

New contract records can be defined in order to ‘modify’ an existing client contract. Client contracts have an effectiveDate property which indicates the applicable contract setup for a given day (by retrieving the current effective contract). BankWORKS allows direct modification of client contracts only in specific scenarios, this covered in a separate PATCH request below.

The POST request can be sent whenever a client contract is effective in the past and needs to be modified by creating either: - a new contract record to be effective immediately (effectiveDate set to the current posting date). This can be done in cases the current effective contract is a past entry. - a new contract record to be future effective. This modifications to be set in the future which will be effective on a particular date

Note: Should the current effective contract record have an effectiveDate value that is equal to the current posting date, a PATCH request needs to be sent.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/contracts/clientNumber=10050000&groupNumber=00000001&effectiveDate=2020-04-01&clientLevel=001

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type contracts with the following attributes:

Name Description
status
string (3)

The status of the contract record, may be used to modify the contract status for example, for contract closure use cases.

Refer to API Data Mapping documentation for possible values.

settlementMethod
string (3)

Indicates the method how the client will settle with the bank. Identifies how outstanding balances are settled. Required only when onboarding a new client.

Refer to BankWorks (API) Data Mapping documentation for possible values.

postingMethod
string (3)

The tariff under which the client falls when posting to the clients account.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientTariff
string (6)

The client tariff value selecting the account fees, service fees, device fee rules applicable.

Refer to API Data Mapping documentation for possible values.

transactionChargesTariff
string (6)

Indicates the applicable transaction charges tariff. Transaction charges are represented as productChargeDefinitions. This is an optional field and if not provided will default to not applicable 000000. If a tariff value is provided, the merchant services clientTariff value will not apply.

Refer to BankWorks (API) Data Mapping documentation for possible values.

chargeTierLevel
string (3)

Enables setting up of the same fee with different value high and value low triggers.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientScheme
string (6)

Indicates the rebate tariff applicable for the contract.

contractReference
string (8)

Merchant contract document reference.

bankReference
string (8)

External additional reference number of the merchant with the bank.

institutionAccountOfficer
string (3)

Officer in charge of the client contract.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientBranch
string (3)

Contract application branch details. Related to the institutionAccountOfficer.

Refer to BankWorks (API) Data Mapping documentation for possible values.

tierGroup
string (3)

An identifier used to group a set of rates that need to be applied during tiered pricing generation.

Refer to BankWorks (API) Data Mapping documentation for possible values.

entityId
string (3)

Entity identifier used to split GL entries and transactions generated for financial activity in a single processing institution across multiple legal entities.

riskRuleGroupId
string (3)

Identifier for the set of rules applies in the risk module.

Refer to BankWorks (API) Data Mapping documentation for possible values.

Relationships
riskRuleParameters

One or more risk rule parameters this client contract is linked to.

Response

Response body will contain the updated JSON:API resource of type contracts .

Create Contract Record

New contract records can be defined in order to ‘modify’ an existing client contract. Client contracts have an effectiveDate property which indicates the applicable contract setup for a given day (by retrieving the current effective contract). BankWORKS allows direct modification of client contracts only in specific scenarios, this covered in a separate PATCH request below.

The POST request can be sent whenever a client contract is effective in the past and needs to be modified by creating either: - a new contract record to be effective immediately (effectiveDate set to the current posting date). This can be done in cases the current effective contract is a past entry. - a new contract record to be future effective. This modifications to be set in the future which will be effective on a particular date

Note: Should the current effective contract record have an effectiveDate value that is equal to the current posting date, a PATCH request needs to be sent.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/contracts

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type contracts with the following attributes:

Name Description
status
string (3)

The status of the contract record, may be used to modify the contract status for example, for contract closure use cases.

Refer to API Data Mapping documentation for possible values.

clientLevel
string (3)

Indicates the position of the current node resource within the group hierarchy. The top most level is identified as the Group level, the bottom level is the Member level. Any level in between the group and member levels is referred to as a Sub-group level node. Required only when onboarding a new client.

Refer to BankWorks (API) Data Mapping documentation for possible values.

effectiveDate
date-only

The date in ISO 8601 format on which the hierarchy link record becomes effective for the client. The value can be future dated and cannot be less than the posting date. If not provided, posting date +1 value is assumed only post-boarding.

settlementMethod
string (3)

Indicates the method how the client will settle with the bank. Identifies how outstanding balances are settled. Required only when onboarding a new client.

Refer to BankWorks (API) Data Mapping documentation for possible values.

postingMethod
string (3)

The tariff under which the client falls when posting to the clients account.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientTariff
string (6)

The client tariff value selecting the account fees, service fees, device fee rules applicable.

Refer to API Data Mapping documentation for possible values.

transactionChargesTariff
string (6)

Indicates the applicable transaction charges tariff. Transaction charges are represented as productChargeDefinitions. This is an optional field and if not provided will default to not applicable 000000. If a tariff value is provided, the merchant services clientTariff value will not apply.

Refer to BankWorks (API) Data Mapping documentation for possible values.

chargeTierLevel
string (3)

Enables setting up of the same fee with different value high and value low triggers.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientScheme
string (6)

Indicates the rebate tariff applicable for the contract.

contractReference
string (8)

Merchant contract document reference.

bankReference
string (8)

External additional reference number of the merchant with the bank.

institutionAccountOfficer
string (3)

Officer in charge of the client contract.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientBranch
string (3)

Contract application branch details. Related to the institutionAccountOfficer.

Refer to BankWorks (API) Data Mapping documentation for possible values.

tierGroup
string (3)

An identifier used to group a set of rates that need to be applied during tiered pricing generation.

Refer to BankWorks (API) Data Mapping documentation for possible values.

entityId
string (3)

Entity identifier used to split GL entries and transactions generated for financial activity in a single processing institution across multiple legal entities.

riskRuleGroupId
string (3)

Identifier for the set of rules applies in the risk module.

Refer to BankWorks (API) Data Mapping documentation for possible values.

Relationships
contractDefinition
required

Service contract definition the client contract is linked to.

merchant

Link to the merchant resource if a merchant contract is being defined. A contract must be linked to a client.

broker

Link to the broker resource if a broker contract is being defined. A contract must be linked to a client.

riskRuleParameters

One or more risk rule parameters this client contract is linked to.

Response

Response body will contain the created JSON:API resource of type contracts .

Risk Rule Parameters

This section contains API request examples for consuming Risk Rule Parameters. This API resource contain both contract-defined and client-specific risk parameters. Contract-defined parameters only serve as default parameter that will apply in case there are no client-specific rules created.

Contract (Default) Risk Rule Parameters

This request will retrieve the contract risk rule parameters. Only GET request is allowed for this resource.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/riskRuleParameters?filter[isContractRule]=true&sort=ruleParameter,-effectiveDate

Request Headers

Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
crnk-compacttrue

Request Parameters

filter[isContractRule] true
sort ruleParameter,-effectiveDate
filter[ruleParameter] 000001
filter[ruleParameter] 000002

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type riskRuleParameters .

Client Risk Parameters via Client Number

This sample request will return risk rule parameters of a specified client via clientNumber taken from contract’s relationship to merchant, sorted by the most effective record first.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/riskRuleParameters?sort=ruleParameter,-effectiveDate&filter[contracts.merchant.clientNumber]=44900116

Request Headers

Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
crnk-compacttrue

Request Parameters

sort ruleParameter,-effectiveDate
filter[contracts.merchant.clientNumber] 44900116

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type riskRuleParameters .

Create Risk Rule Parameters

POST can be used to create a new client specific risk rule parameter. It may also be used to superseed an effective client risk rule parameter in case changes are required. The earliest a risk rule parameter can be set to is the current posting date.

Prior to this request, the client contract’s riskRuleGroupId attribute should have been defined (not equal to 000) and the contract resource ID should be included in the request’s relationship.

Contract-defined risk rule parameters cannot be created.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/riskRuleParameters

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type riskRuleParameters with the following attributes:

Name Description
recordId
string (15)

The identifier generated which is unique for every record.

ruleParameter
string (6)
required

The risk rule parameter for which the risk rule applies to.

isContractRule
boolean

This flag will indicate whether the risk rule parameter is a contract-generated (true) or client-defined (false).

clientId
number

The identifier generated for client-defined risk rule parameters.

effectiveDate
date-only

The date in ISO 8601 format when the risk parameter will take into effect.

expiryDate
date-only

Expiry date of risk rule parameter in ISO 8601 format.

value
string
required

The risk rule value applied for the specified rule parameter. Value format varies depending on the rule parameter’s data type.

Refer to BankWorks (API) Data Mapping documentation for possible values.

Example:

  • ruleParameter: 000001 - data type: Amount - format: with decimal place.

  • ruleParameter: 000002 - data type: Number - format: integer only without decimal place

currency
string (3)

The risk rule currency to be specified in case rule parameter requires an amount value. This should be in 3-letter ISO SWIFT format.

Example: USD, EUR

description
string (3)

Free-text description for the risk rule parameter.

recordDate
date-only (3)

The date in ISO 8601 format on which the risk rule parameter record is created. Defaulted to the current posting date when a new record is created.

Relationships
contracts
required

Merchant contract/s for which the rule parameter applies to.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type riskRuleParameters .

Modify Risk Rule Parameters

A request to modify an existing client-specific risk rule parameter. This request is only for modifications of present or future effective records.

Contract level risk parameter cannot be updated.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/riskRuleParameters/{{riskRuleParametersId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type riskRuleParameters with the following attributes:

Name Description
recordId
string (15)

The identifier generated which is unique for every record.

ruleParameter
string (6)

The risk rule parameter for which the risk rule applies to.

isContractRule
boolean

This flag will indicate whether the risk rule parameter is a contract-generated (true) or client-defined (false).

clientId
number

The identifier generated for client-defined risk rule parameters.

effectiveDate
date-only

The date in ISO 8601 format when the risk parameter will take into effect.

expiryDate
date-only

Expiry date of risk rule parameter in ISO 8601 format.

value
string

The risk rule value applied for the specified rule parameter. Value format varies depending on the rule parameter’s data type.

Refer to BankWorks (API) Data Mapping documentation for possible values.

Example:

  • ruleParameter: 000001 - data type: Amount - format: with decimal place.

  • ruleParameter: 000002 - data type: Number - format: integer only without decimal place

currency
string (3)

The risk rule currency to be specified in case rule parameter requires an amount value. This should be in 3-letter ISO SWIFT format.

Example: USD, EUR

description
string (3)

Free-text description for the risk rule parameter.

recordDate
date-only (3)

The date in ISO 8601 format on which the risk rule parameter record is created. Defaulted to the current posting date when a new record is created.

Relationships
contracts

Merchant contract/s for which the rule parameter applies to.

Response

Past Effective Record cannot be updated : HTTP 403 (Forbidden)

Invalid value format - rule parameter value should be iof type integer : HTTP 400 (Bad Request)

Successful response : HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type riskRuleParameters .

Delete Risk Rule Parameters

A request to delete a client risk rule parameter. Deletion is only allowed for records that has not taken into effect yet (future-effective).

Contract-defined risk rules cannot be deleted.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/riskRuleParameters/{{riskRuleParametersId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Response

HTTP 403 (Forbidden)

Client Accounts

Client indicates any BankWORKS client-sub accounts such as, merchant payment accounts, fee collect accounts etc. A client account is part of the client contract and must be based on an account definition.

This section covers a number of use cases including, client account retrieval, new account creation and various modifications such as account status change. Refer to the individual use cases for more details.

Account

Use cases in this section will be used to retrieve, create and modify an existing account.

Client Accounts

A request to retrieve client accounts. In BankWORKS, client accounts are linked to a contract and based on a definition. In this example, filtering is being applied to retrieve accounts by a specific merchant client. The accountDefinitions linked to the account is being returned in order to display some properties that the client account is inheriting.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/accounts/?filter[contracts.merchant.id]=clientNumber=10050000&include=accountDefinition&fields[accountDefinitions]=accountTypeId,accountCurrency&fields[accounts]=accountNumber,accountCurrency,status,clientAccountName,accountNumberRbs,billingLevel,activeDate

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[contracts.merchant.id] clientNumber=10050000
include accountDefinition
fields[accountDefinitions] accountTypeId,accountCurrency
fields[accounts] accountNumber,accountCurrency,status,clientAccountName,accountNumberRbs,billingLevel,activeDate

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type accounts with accountDefinitionas included resources.

Create a New Client Account

A request to create a new client account. This must be linke to an accountDefinition that is available in the client service contract.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/accounts

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type accounts with the following attributes:

Name Description
clientAccountName
string (35)

Field representing the merchant account alias.

accountNumberRbs
string (28)

External account number reference.

statementGeneration
string (3)

Indicates the statement generation rule applicable for this account.

Refer to BankWorks (API) Data Mapping documentation for possible values.

statementType
string (3)

Indicates the type of statement applicable for this account.

Refer to BankWorks (API) Data Mapping documentation for possible values.

Relationships
accountDefinition
required

Link to a account definition business rule. This must be availabe in the client contract definition assigned ealier, during merchant contract creation. Refer to the account definition retrieval by service contract request for more information.

settlementPackage

Optional, settlementPackage only needs to be linked to if the account is at billing level. Providing a settlementPackage automatically sets the account billingLevel to 001 - indicating a billingLevel account

contracts
required

Link to the merchant contract.

paymentInstructions

Payment instructions defined for the account.

billingAccounts

The billing account within the account hierarchy.

balanceCycles

The account balances per cycle.

Response

Response body will contain the created JSON:API resource of type accounts .

Modify Client Account

Request to modify a merchant account identified by it’s ID. Refer to table below for more information on what can be amended.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/accounts/{{accountId}}

Request Headers

Authorization Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type accounts with the following attributes:

Name Description
clientAccountName
string (35)

Field representing the merchant account alias.

status
string (3)

Account status, provide the desired value to performa an account status change.

Refer to API Data Mapping documentation for possible values.

accountNumberRbs
string (28)

External account number reference.

statementGeneration
string (3)

Indicates the statement generation rule applicable for this account.

Refer to BankWorks (API) Data Mapping documentation for possible values.

statementType
string (3)

Indicates the type of statement applicable for this account.

Refer to BankWorks (API) Data Mapping documentation for possible values.

Relationships
paymentInstructions

Payment instructions defined for the account.

billingAccounts

The billing account within the account hierarchy.

balanceCycles

The account balances per cycle.

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type accounts .

Account Balance Cycles

Get Balance Cycles

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/balanceCycles

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Response

HTTP 200 (OK)

Get Balance Cycle with Account

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/balanceCycles/{{balanceCycleId}}?include=account

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Request Parameters

include account

Response

HTTP 200 (OK)

Get Account with Balance Cycles

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/accounts/{{accountId}}?include=balanceCycles&filter[balanceCycles][cycleEndDate]=2021-09-30

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Request Parameters

include balanceCycles
filter[balanceCycles][cycleEndDate] 2021-09-30
sort balanceCycles.cycleEndDate
filter[balanceCycles][processingStatus] 004

Response

Get Account with Balance Cycles - Specific Cycle : HTTP 200 (OK)

Get Account with Balance Cycles - filter Current Cycle only : HTTP 200 (OK)

Get Account Balance Cycles

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/balanceCycles?filter[account.id]={{accountId}}&sort=-cycleEndDate

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Parameters

filter[account.id] {{accountId}}
sort -cycleEndDate
filter[processingStatus] 004

Response

HTTP 200 (OK)

Account Balance Transfer

Use cases in this section will be used to create, update, and delete sundry account balance transfers. This also includes retrieval of related source and destination accounts involved in the transaction.

All Account Balance Transfer

This request will retrieve all records for account balance transfers.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/accountBalanceTransfers

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type accountBalanceTransfers .

One Account Balance Transfer

This request will retrieve one record for account balance transfer via resource ID provided.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/accountBalanceTransfers/{{accountBalanceTransfersId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type accountBalanceTransfers .

Create Account Balance Transfer

This request will create an account balance transfer. Source and destination accounts should be provided in the relationships.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/accountBalanceTransfers

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type accountBalanceTransfers with the following attributes:

Name Description
transferType
string (3)
required

Defines the type of transfer being effected.

Examples may include: 403 (Redemption Cash), 404 (Redemption Air Miles), 416 (Redemption Qualifying Miles), 950 (Misc. DR transaction), 951 (Misc. CR transaction).

Refer to BankWorks (API) Data Mapping documentation for possible values.

transferAmount
object
required

The amount being transferred in the currency of the source account.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

transactionNarrative
string (100)

A free-text transaction description, up to 100 characters. If not provided, this will be defaulted to the transfer type narrative.

Relationships
sourceAccount
required

Relationship to the source transfer account.

destinationAccount
required

Relationship to the destination transfer account.

Response

Create Account Balance Transfer - Error 1 : HTTP 404 (Not Found)

Create Account Balance Transfer - Error 2 : HTTP 422 (Unprocessable Entity)

Create Account Balance Transfer - Error 3 : HTTP 400 (Bad Request)

Create Account Balance Transfer - Error 4 : HTTP 403 (Forbidden)

Create Account Balance Transfer - Successful : HTTP 201 (Created)

Response body will contain the created JSON:API resource of type accountBalanceTransfers .

Update Account Balance Transfer

Updates are not allowed for Completed (002) status.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/accountBalanceTransfers/{{accountBalanceTransfersId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type accountBalanceTransfers with the following attributes:

Name Description
transferType
string (3)

Defines the type of transfer being effected.

Examples may include: 403 (Redemption Cash), 404 (Redemption Air Miles), 416 (Redemption Qualifying Miles), 950 (Misc. DR transaction), 951 (Misc. CR transaction).

Refer to BankWorks (API) Data Mapping documentation for possible values.

transferAmount
object

The amount being transferred in the currency of the source account.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

transactionNarrative
string (100)

A free-text transaction description, up to 100 characters. If not provided, this will be defaulted to the transfer type narrative.

Relationships
sourceAccount

Relationship to the source transfer account.

destinationAccount

Relationship to the destination transfer account.

Response

Update Account Balance Transfer - Error 1 : HTTP 400 (Bad Request)

Update Account Balance Transfer - Error 2 : HTTP 400 (Bad Request)

Update Account Balance Transfer - Successful : HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type accountBalanceTransfers .

Delete Account Balance Transfer

Deletion is not allowed for transfers which has been Completed (002).

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/accountBalanceTransfers/{{accountBalanceTransfersId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Response

HTTP 204 (No Content)

Response body will contain the deleted JSON:API resource of type accountBalanceTransfers .

Source Account of Balance Transfer

This will retrieve the related source account for a specific transfer.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/accountBalanceTransfers/{{accountBalanceTransfersId}}/sourceAccount

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type accounts .

Destination Account of Balance Transfer

This will retrieve the destination account of the specific transfer record.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/accountBalanceTransfers/{{accountBalanceTransfersId}}/destinationAccount

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-compacttrue

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type accounts .

Client Services

The services section covers the client service assignments. A BankWORKS client can be assigned any service as long as the service is part of the service contract (determined by the available client contract).

A client service must always be based on a service definition blueprint. These are part of the service contract definition and can be broadly categorised as: - Acquiring Services: Acquiring of card based transactions - Miscellaneous Service: Non-card based services that can be billed by an institution - Device Services: Terminal services, required for a merchant to apply for devices.

Delete Service

Delete a client service record. Deletion is only supported for future effective services.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/services/{{serviceId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 204 (No Content)

Client Services

Retrieval of client services regardless of the serviceCategory value. In this example, filtering is being applied to the group (implying a single service contract). Also, additional filtering has been applied to filter by effectiveDate to be less or equal than the current date. The result is also being sorted by groupNumber and effectiveDate in descending order. This will result in the latest and current effetive service being returned first, followed by a list of historical versions of the client serivce organised in reverse chronoligical order.

There can be cases where the future effective client services would also be desired. In this case the filtering criteria can be amended as necessary.

Note: It is also possible to filter further using other attributes and also relationship based filtering if desired such as the serviceCategory.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/services?filter[clientNumber]={{serviceMerchantId}}&filter[groupNumber]={{serviceGroupId}}&filter[effectiveDate][LE]=2020-04-01&sort=groupNumber,serviceCategory,-effectiveDate

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[clientNumber] {{serviceMerchantId}}
filter[groupNumber] {{serviceGroupId}}
filter[effectiveDate][LE] 2020-04-01
sort groupNumber,serviceCategory,-effectiveDate

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type services .

Create Service Record

New client service records can be defined in order to ‘modify’ an existing client service (service definition already assigned to merchant contract) or else applying for a service entirely (new service definition). Client services have an effectiveDate property which indicates when the particular record is effective. BankWORKS allows direct modification of client contracts only in specific scenarios, this covered in a separate PATCH request below.

The POST request can be sent whenever a client service is effective in the past and needs to be modified by creating either: - a new service record to be effective immediately (effectiveDate set to the current posting date). This can be done in case the current effective service is a past entry. - a new service record to be future effective.

Note: Should the current effective service record have an effectiveDate value that is equal to the current posting date, a PATCH request needs to be sent.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/services

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type services with the following attributes:

Name Description
status
string (3)

Indicates the current status of the client service.

Refer to BankWorks (API) Data Mapping documentation for possible values.

effectiveDate
date-only

The date in ISO 8601 format when the client service becomes effective. The value can be future dated and cannot be less than the posting date. If not provided, posting date +1 value is assumed only post-boarding.

clientTariff
string (6)

Indicates the applicable transaction charge rules. The tariff only applies if the related merchant contract does not have a transactionChargesTariff value of “000000”. Defaults to “000000” if not provided. Applicable only to card based acquiring services. For miscellaneous service tariff, refer to the contracts resource.

Refer to BankWorks (API) Data Mapping documentation for possible values.

Relationships
serviceDefinitions
required

Link to the definition rule the service is based on. The service selected must be available within the service contract linked to the client.

contracts
required

Link to the client contract the service will be linked to.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type services .

Modify Service Record

Modification of a client service is allowed when the record is future dated or when the record to be modified is effective on the same posting date as the modification. In this request example, the status of service is being set to inactive.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/services/{{serviceId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type services with the following attributes:

Name Description
status
string (3)

Indicates the current status of the client service.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clientTariff
string (6)

Indicates the applicable transaction charge rules. The tariff only applies if the related merchant contract does not have a transactionChargesTariff value of “000000”. Defaults to “000000” if not provided. Applicable only to card based acquiring services. For miscellaneous service tariff, refer to the contracts resource.

Refer to BankWorks (API) Data Mapping documentation for possible values.

Relationships

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type services .

Dispute

Get Dispute Cases

This use case is to retrieve a specific merchant dispute cases regardless the status along with the merchant information and the dispute action history.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/disputeCases/{{disputeCaseId}}?include=merchant,disputeCaseHistory

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

include merchant,disputeCaseHistory

Response

HTTP 200 (OK)

Disputes MID, Date Range, Network

This use case is to retrieve a specific merchant dispute cases regardless the status along with the merchant information and the dispute action history.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/merchants?filter[ourReference][EQ]=000000088317001&include=disputeCases&filter[disputeCases][transactionDate][GE]=2022-08-01&filter[disputeCases][transactionDate][LE]=2022-08-31&filter[disputeCases][cardOrganization][EQ]=003

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[ourReference][EQ] 000000088317001
include disputeCases
filter[disputeCases][transactionDate][GE] 2022-08-01
filter[disputeCases][transactionDate][LE] 2022-08-31
filter[disputeCases][cardOrganization][EQ] 003

Response

Disputes MID, Date Range, Network - Error : HTTP 200 (OK)

Disputes MID, Date Range, Network - Successful : HTTP 200 (OK)

Disputes MID, Date Range

This use case is to retrieve a specific merchant dispute cases regardless the status along with the merchant information and the dispute action history.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/merchants?filter[ourReference][EQ]=000000088317007&include=disputeCases&filter[disputeCases][transactionDate][GE]=2022-08-01&filter[disputeCases][transactionDate][LE]=2022-08-31

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[ourReference][EQ] 000000088317007
include disputeCases
filter[disputeCases][transactionDate][GE] 2022-08-01
filter[disputeCases][transactionDate][LE] 2022-08-31

Response

Disputes MID, Date Range - Error : HTTP 200 (OK)

Disputes MID, Date Range - Successful : HTTP 200 (OK)

Get Dispute Case Actions

This retrieves the list of actions which could be taken on the related dispute case

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/disputeCases/{{disputeCaseId}}/disputeCaseActions

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

Get Dispute Case Actions - Error : HTTP 404 (Not Found)

Get Dispute Case Actions - Successful : HTTP 200 (OK)

Get Dispute Case History

This use case is to retrieve dispute action history. It only retrieves the action history information and does not contain the physical document to reduce the size of the response.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/disputeCases/{{disputeCaseId}}/disputeCaseHistory

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

Get Dispute Case History - No Record : HTTP 200 (OK)

Get Dispute Case History - Error : HTTP 404 (Not Found)

Get Dispute Case History - Successful : HTTP 200 (OK)

Retrieve Evidence Document

This use case is use to retrieve a dispute action history that contain the physical document. The action rule id should be (106 - Attached Document) and the document attribute should be specified as part of the sparse fields parameter (e.g. fields=document,descriptiveDocName,fileExtension) along with the other attributes in the request. This will help to manage the high volume traffic.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/disputeCaseHistory/{{disputeCaseHistoryId}}?fields=document,descriptiveDocName,fileExtension

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

fields document,descriptiveDocName,fileExtension

Response

HTTP 200 (OK)

Post Multiple Case History

This use case is use to add any new actions. Multiple actions such as attaching 1 or more evidence documents along with the main action must be sent into one (1) POST request using the bulk functionality as shown in this example. Document attachment should be submitted as a separate action (ruleAction = 106) in the same request

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/disputeCaseHistory

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type disputeCaseHistory with the following attributes:

Name Description
caseType
string (3)

Indicates the type of dispute transaction such as retrieval request, Pre-Arbitration, Arbitration, etc…

Refer to BankWorks (API) Data Mapping documentation for possible values.

noteText
string (500)

User entered note on action taken.

feeConfirmation
boolean

Indicates whether the merchant accepted the amount to be paid for this action.

document
string

File evidence document in any format provided that matched up to the fileExtension attribute. This should be in base 64 encoded representation.

For retrieval, this is an on-demand attribute i.e. not retrieved automatically but only retrieved if specified as an included field.

documentName
string

Document name provided by the merchant.

descriptiveDocName
string

An autogenerated name which guarantee the uniqueness among in all files that are being uploaded.

fileExtension
string

This is the file extension of the document provided (e.g. jpg, pdf, etc…).

riskAccepted
boolean

Indicates whether the merchant accepted the risk even the days to action equal to 0.

plannedRefundDate
date-only

The date in ISO 8601 format when the actual refund date will be carried out.

Relationships
disputeCase
required

POSTABLE only. To link to case when taking an action.

disputeCaseAction
required

POSTABLE only. To link to case action when taking an action.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type disputeCaseHistory .

Post Single Case History

This use case is use to add a single dispute case history for dispute case main action.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/disputeCaseHistory

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type disputeCaseHistory with the following attributes:

Name Description
caseType
string (3)

Indicates the type of dispute transaction such as retrieval request, Pre-Arbitration, Arbitration, etc…

Refer to BankWorks (API) Data Mapping documentation for possible values.

noteText
string (500)

User entered note on action taken.

feeConfirmation
boolean

Indicates whether the merchant accepted the amount to be paid for this action.

document
string

File evidence document in any format provided that matched up to the fileExtension attribute. This should be in base 64 encoded representation.

For retrieval, this is an on-demand attribute i.e. not retrieved automatically but only retrieved if specified as an included field.

documentName
string

Document name provided by the merchant.

descriptiveDocName
string

An autogenerated name which guarantee the uniqueness among in all files that are being uploaded.

fileExtension
string

This is the file extension of the document provided (e.g. jpg, pdf, etc…).

riskAccepted
boolean

Indicates whether the merchant accepted the risk even the days to action equal to 0.

plannedRefundDate
date-only

The date in ISO 8601 format when the actual refund date will be carried out.

Relationships
disputeCase
required

POSTABLE only. To link to case when taking an action.

disputeCaseAction
required

POSTABLE only. To link to case action when taking an action.

Response

Post Single Case History - Error 1 : HTTP 404 (Not Found)

Post Single Case History - Error 2 : HTTP 422 (Unprocessable Entity)

Post Single Case History - Error 3 : HTTP 400 (Bad Request)

Post Single Case History - Successful : HTTP 201 (Created)

Response body will contain the created JSON:API resource of type disputeCaseHistory .

Merchant Hierarchy

A section containing sample calls relating to the merchant billing and settlement hierarchy. In BankWORKS the hierarchy represents the billing structure which is composed of: - Group (top most level), a single client representing the merchant group. - Member (bottom of the hierarchy), the transacting level merchants at the very end of the hierarchy nodes.
- Sub-Group (between a group and member), any client residing between a group and member level client. Any level in between a group and a member would be a sub-group level.

Get hierarchy using groupNumber

Returns a merchant hierarchy using groupNumber identifying the merchant hierarchy along with all nodes returning the current effective contracts and past contract versions.

IMPORTANT POINTS: - response will not be in a top-down level format - in order to indicate which parent node the merchant belongs to, parentContracts has been included in the relationships - if merchant already has history of contract records, provide the effective date which is less than the date today and sorted in descending order. The most effective contract will be the first record returned in the response for each client node in the hierarchy.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/contracts?filter[groupNumber]={{groupNumber}}&sort=-effectiveDate&include=parentContracts&filter[effectiveDate][LE]=2020-04-01

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[groupNumber] {{groupNumber}}
sort -effectiveDate
include parentContracts
filter[status] 00
fields[merchants] ourReference
fields id
filter[effectiveDate][LE] 2020-04-01

Response

HTTP 200 (OK)

Get Merchant Groups

Returns the merchant’s active groups, with the results sorted by groupNumber, and effectiveDate in reverse chronoligical order. A number attributes are selected to simplify the response and the contractDefinition is being included to indicate the serviceContractId of the hierarchical group.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/merchants/clientNumber=10050000/contracts?filter[effectiveDate][LE]=2020-04-01&filter[status]=001&sort=groupNumber,-effectiveDate&fields=effectiveDate,groupNumber,contractReference,clientLevel&fields[contractDefinitions]=serviceContractId&include=contractDefinition

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[effectiveDate][LE] 2020-04-01
filter[status] 001
sort groupNumber,-effectiveDate
fields effectiveDate,groupNumber,contractReference,clientLevel
fields[contractDefinitions] serviceContractId
fields[merchants] ourReference
include contractDefinition

Response

HTTP 200 (OK)

Response body will contain the result of the JSON PATCH operation for the following resources: contracts contractDefinitions

Get Member level of a hierarchy

Retrieve the transacting level contracts of a particular hierarchy identified by the groupNumber value.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/contracts?filter[groupNumber]={{groupNumber}}&filter[clientLevel]=001&fields=id&include=parentContracts

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[clientNumber] 00000229
filter[groupNumber] {{groupNumber}}
filter[clientLevel] 001
include merchant.addresses,accounts.settlementPackage
fields id
include parentContracts

Response

HTTP 200 (OK)

Get Direct Child Contracts

This call will return the direct Children contracts beneath the Group or Sub-Group Level merchant.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/contracts/clientNumber=10050000&groupNumber=00000001&effectiveDate=2020-04-01&clientLevel=001/childContracts?include=merchant

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

include merchant

Response

HTTP 200 (OK)

Get Child Hierarchy

This call will return all the children contracts beneath the Group or Sub-Group Level merchant.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/contracts/clientNumber=10050000&groupNumber=00000001&effectiveDate=2020-04-01&clientLevel=001/childHierarchy?include=parentContracts,merchant

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

include parentContracts,merchant

Response

HTTP 200 (OK)

Merchant Devices

This section deals with merchant devices which can be applied to merchants at the transacting level (member level of a hierarchy). In BankWORKS, devices can be added to merchants having the respective device service assigned. This means that prior to defining a new merchant device: - The merchant must have a device service assinged. - If no device service is available, assign the service to the merchant first.

Note: Device services must be available in the merchant service contract in order to be available for assignment. The below requests are provided with the assumption that the merchant would already have device services assigned.

Merchant Device Fees Rules

Device fees can be set at contract level or individual terminal level. Contract level fees are inherited part of the service contract setup. In case further individual terminal fee overrides are required, it is possible to define an individual fee.

Essentially, device fees are service fees linked to the device service. More information on contract based fees may be found in the contract-based device fees section.

Retrieve Device Fees

Returns the individual device fee setup related to the filtered terminal id.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/devices/clientNumber=00001953&terminalId=00001954/deviceFeeDefinitions

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 200 (OK)

Delete an Individual Device Fee

Delete an individual device Fee. At a minimum the record being deleted must have an effectiveDate value that is at least 1 day ahead of the current posting date. Deletion of the current effective or past setup rules is not allowed.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/deviceFeeDefinitions/{{deviceFeeDefinitionsId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Response

HTTP 204 (No Content)

Create Individual Device Fee

Define a new individual terminal fee. These must be based on an existing contract-based fee which is already part of the merchant service contract. Attributes not passed in the body will inherit the contract based value.

Device fees have an effectiveDate property which indicates when the particular record is effective. BankWORKS allows direct modification of individual device fees only in specific scenarios, this is covered in a separate PATCH request below.

The POST request can be sent whenever an individual fee is effective in the past and needs to be modified by creating either: - a new fee record to be effective immediately (effectiveDate set to the current posting date). This can be done in cases the current effective fee is a past entry. - a new fee record to be future effective.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/deviceFeeDefinitions

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type deviceFeeDefinitions with the following attributes:

Name Description
effectiveDate
date-only

Date when the device fee becomes. Defaults to the current posting date unless provided. Dates prior to the current posting date are not allowed.

expiryDate
date-only

Defines the date when the fee will expire and hence will no longer be generated.

feeBase
object

The base amount of the fee in relation to the value on which it is calculated.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMinimum
object

The minimum fee amount that will always be generated if calculated percentage is lower.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMaximum
object

The maximum fee amount that will always be generated if calculated percentage is higher.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMode
string (3)

The flag which indicates whether the fee is to be generated or suppressed.

Refer to BankWorks (API) Data Mapping documentation for possible values.

fixedPeriod
number (3)

Number of days due after the period reference.

periodReference
string (3)

Determines the value date of the fee, eg. Posting Date.

Refer to BankWorks (API) Data Mapping documentation for possible values.

referenceOperator
string (3)

Sign operator related to fixedPeriod following the periodReference.

Refer to BankWorks (API) Data Mapping documentation for possible values.

triggerPeriod
string (3)

The frequency when the defined fee will be processed e.g. Daily, End of Cycle etc.

Refer to BankWorks (API) Data Mapping documentation for possible values.

Relationships
devices
required

Link to the merchant device.

contractFees
required

Link to the contract contract-based fee that will be overriden with this terminal fee.

Response

POST Individual Terminal Fee - client 00001953, tid 00001954 : HTTP 201 (Created)

POST Individual Terminal Fee - future effective : HTTP 201 (Created)

Response body will contain the created JSON:API resource of type deviceFeeDefinitions .

Modify an Individual Device Fee

Modification of an individual device fee is allowed when the record is future dated or when the record to be modified is effective on the same posting date as the modification.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/deviceFeeDefinitions/recordIdNumber=0000104671

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type deviceFeeDefinitions with the following attributes:

Name Description
expiryDate
date-only

Defines the date when the fee will expire and hence will no longer be generated.

feeBase
object

The base amount of the fee in relation to the value on which it is calculated.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMinimum
object

The minimum fee amount that will always be generated if calculated percentage is lower.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMaximum
object

The maximum fee amount that will always be generated if calculated percentage is higher.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMode
string (3)

The flag which indicates whether the fee is to be generated or suppressed.

Refer to BankWorks (API) Data Mapping documentation for possible values.

fixedPeriod
number (3)

Number of days due after the period reference.

periodReference
string (3)

Determines the value date of the fee, eg. Posting Date.

Refer to BankWorks (API) Data Mapping documentation for possible values.

referenceOperator
string (3)

Sign operator related to fixedPeriod following the periodReference.

Refer to BankWorks (API) Data Mapping documentation for possible values.

triggerPeriod
string (3)

The frequency when the defined fee will be processed e.g. Daily, End of Cycle etc.

Refer to BankWorks (API) Data Mapping documentation for possible values.

Relationships

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type deviceFeeDefinitions .

Delete Device

Deletion of a merchant device.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/devices/{{memberDeviceId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 204 (No Content)

Merchant Devices

Retrieval of merchant devices. A merchant device is linked to a service and subsequently to a merchant contract.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/devices?filter[services.contracts.merchant.id]=clientNumber=10050000

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[services.contracts.merchant.id] clientNumber=10050000

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type devices .

Create New Device

This call is used to add a merchant terminal/device, applicable to transacting level (member level) merchants. A device must be based on a device service

Note: In order for a device creation request to be accepted, the merchant must have the MID available in the ourReference attribute.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/devices

Request Headers

Authorization Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type devices with the following attributes:

Name Description
terminalId
string (8)
required

Terminal ID assigned to the device.

serialNumber
string (16)

Terminal serial number.

status
string (3)
required

Indicates the current terminal status.

Refer to BankWorks (API) Data Mapping documentation for possible values.

terminalType
string (3)

The model terminal type if it is a virtual POS, specific POS model or kind of POS terminal.

Refer to BankWorks (API) Data Mapping documentation for possible values.

terminalProfile
string (3)

A 3-character index-based value which determines the use of a POS device. E.g. Petrol-Unattended or Retail POS.

Refer to BankWorks (API) Data Mapping documentation for possible values.

currency
string (3)
required

The currency of the device in ISO 3-letter SWIFT format. In cases where value consists of 3 digits:

  • 998 means not applicable
  • 999 means applicable to all currencies
contactName
string (35)

Contact person responsible for the terminal.

posCapability
string (3)
required

The terminal capability for PAN PIN entry.

Refer to BankWorks (API) Data Mapping documentation for possible values.

endOfDayIndicator
string (3)
required

Defines the end-of-day method.

Refer to BankWorks (API) Data Mapping documentation for possible values.

Relationships
services
required

Link to the client service representing the device. This must be a serviceCategory 022 service, representing a device.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type devices .

Modify Device

Request to modify a merchant device identified by it’s ID. Refer to table below for more information on what can be amended.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/devices/clientNumber=00001953&terminalId=00001954

Request Headers

Authorization Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type devices with the following attributes:

Name Description
serialNumber
string (16)

Terminal serial number.

status
string (3)

Indicates the current terminal status.

Refer to BankWorks (API) Data Mapping documentation for possible values.

terminalType
string (3)

The model terminal type if it is a virtual POS, specific POS model or kind of POS terminal.

Refer to BankWorks (API) Data Mapping documentation for possible values.

terminalProfile
string (3)

A 3-character index-based value which determines the use of a POS device. E.g. Petrol-Unattended or Retail POS.

Refer to BankWorks (API) Data Mapping documentation for possible values.

contactName
string (35)

Contact person responsible for the terminal.

posCapability
string (3)

The terminal capability for PAN PIN entry.

Refer to BankWorks (API) Data Mapping documentation for possible values.

endOfDayIndicator
string (3)

Defines the end-of-day method.

Refer to BankWorks (API) Data Mapping documentation for possible values.

Relationships

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type devices .

Miscellaneous Batch Input

This resource represents Miscellaneous transactions i.e. adjustments manually entered in BankWorks. This is composed of miscellaenousBatches (batch) and its indivividual transactions (miscellaneousBatchSlips). Requests are sequentially placed from creation of batch to individual slips and down to Approving the miscellaneous batch and slips for processing. Delete, Get, and Patch requests (except for item 3) are optional in case some changes are needed.

1. Add New Batch

Creation of miscellaneous batch for the related transaction slips entry.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatches

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type miscellaneousBatches with the following attributes:

Name Description
numberOriginalSlip
string (11)

Free text reference up to 11 characters. This field can be used to refer to an external (outside of BankWORKS) transaction. If this is null/empty, it will be generated similar with transactionSlip.

totalBatchAmount
object

If it is 0, the totalBatchAmount can be calculated by calculating the Sum of transactionAmountGross values provided in the slips. This should be done upon sending a PATCH request to set the processingStatus to ‘008’, as this would indicate that all the required slips have been entered and linked to the batch.

In order to calculate this amount the following need to be considered: -Transaction amount of the individual slips -Transaction type of each slip. The transaction type determines the respective DR/CR indicator. To determine if a transaction is a debit or credit AT DESTINATION, the BWT_BATCH_TRANSACTIONS entry will need to be checked with the equivalent in BWT_BATCH_TRANSACTIONS in order to retrieve the DESTINATION_SIGN. The first character of the DESTINATION_SIGN field indicates whether the transaction will be a C (Credit) or D (Debit) at destination. -Finally once the amount is converted to the destination sign. The REVERSAL_FLAG value must be considered. A credit (plus) to the merchant account that is reversed (REVERSAL_FLAG = 001) results in a debit to the merchant account (minus) and vice versa.

Alternatively, if provided, the totalBatchAmount Value must match with the Sum of the slip amounts provided. This value would be validated when approving the transaction for processing by setting processingStatus to ‘008’.

Total Batch Amount currency, indicates the currency of the batch. Any transactions linked to the batch must match with this batch currency.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string
required

The ISO 4217 currency code (eg. 'EUR')

numberOfSlips
number

If not provided, the number of slips can be calculated on the number of individual transaction slips provided in the slips list.This should be done upon sending a PATCH request to set the processingStatus to ‘008’, as this would indicate that all the required slips have been entered and linked to the batch. Alternatively, if provided, the numberOfSlips value should match with the count of slips provided. This value would be validated when approving the transaction for processing by setting processingStatus to ‘008’

Relationships

Response

HTTP 202 (Accepted)

Response body will contain the created JSON:API resource of type miscellaneousBatches .

1.1 Get Batches

Returns a batches and related transactions (miscellaneousBatchSlips).

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatches/?include=transactions,transactions.account

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Parameters

include transactions,transactions.account

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type miscellaneousBatches with transactions,transactions.accountas included resources.

1.2 Update or Cancelled Batch

This to update other batch attributes or cancellation of batch for unprocessed transactions.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatches/{{miscellaneousBatchId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type miscellaneousBatches with the following attributes:

Name Description
numberOriginalSlip
string (11)

Free text reference up to 11 characters. This field can be used to refer to an external (outside of BankWORKS) transaction. If this is null/empty, it will be generated similar with transactionSlip.

processingStatus
string (3)

The processing status indicates the current state of the batch. A batch initially has an Entered (007) status. The batch can be set to Cancelled (017). However, the batch or transactions related to this batch can still be modified or add a new transactions. Then the batch can be set to Approved (008) for processing.

Once a batch of transactions is successfully processed, the processingStatus will indicate a value of Loaded (005).

totalBatchAmount
object

If it is 0, the totalBatchAmount can be calculated by calculating the Sum of transactionAmountGross values provided in the slips. This should be done upon sending a PATCH request to set the processingStatus to ‘008’, as this would indicate that all the required slips have been entered and linked to the batch.

In order to calculate this amount the following need to be considered: -Transaction amount of the individual slips -Transaction type of each slip. The transaction type determines the respective DR/CR indicator. To determine if a transaction is a debit or credit AT DESTINATION, the BWT_BATCH_TRANSACTIONS entry will need to be checked with the equivalent in BWT_BATCH_TRANSACTIONS in order to retrieve the DESTINATION_SIGN. The first character of the DESTINATION_SIGN field indicates whether the transaction will be a C (Credit) or D (Debit) at destination. -Finally once the amount is converted to the destination sign. The REVERSAL_FLAG value must be considered. A credit (plus) to the merchant account that is reversed (REVERSAL_FLAG = 001) results in a debit to the merchant account (minus) and vice versa.

Alternatively, if provided, the totalBatchAmount Value must match with the Sum of the slip amounts provided. This value would be validated when approving the transaction for processing by setting processingStatus to ‘008’.

Total Batch Amount currency, indicates the currency of the batch. Any transactions linked to the batch must match with this batch currency.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

numberOfSlips
number

If not provided, the number of slips can be calculated on the number of individual transaction slips provided in the slips list.This should be done upon sending a PATCH request to set the processingStatus to ‘008’, as this would indicate that all the required slips have been entered and linked to the batch. Alternatively, if provided, the numberOfSlips value should match with the count of slips provided. This value would be validated when approving the transaction for processing by setting processingStatus to ‘008’

Relationships

Response

HTTP 202 (Accepted)

Response body will contain the updated JSON:API resource of type miscellaneousBatches .

1.3 Delete Batch

Deletion of batch for unprocessed transactions.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatches/{{miscellaneousBatchId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Response

HTTP 500 (Internal Server Error)

Response body will contain the deleted JSON:API resource of type miscellaneousBatches .

2. Add New Batch Slip

Creation of individual transaction slips that will compose the related batch.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatchSlips

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type miscellaneousBatchSlips with the following attributes:

Name Description
numberOriginalSlip
string (11)

Free text reference up to 11 characters. This field can be used to refer to an external (outside of BankWORKS) transaction. If this is null/empty, it will be generated similar with transactionSlip.

transactionType
string (3)
required

Type of transaction i.e. Miscellaneous Debit (950), Miscellaneous Credit (951), etc.

transactionCategory
string (3)
required

This value is used to identify what category the transaction belongs to, e.g Charges & Fees, Adjustments, etc.

transactionDate
date-only

Date of the transaction. Must be less than or equal to the current posting date.

valueDate
date-only

The date from when action can be taken upon a transaction.

transactionAmountGross
object
required

The amount of the individual transaction. Must be greater than 0 and the currency value must match with the batch currency!

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

reversalFlag
string (3)

Indicator used to identify if the transaction is reversed or not. Defaulted to 000 (No).

cardAlias
string

This information is currently not supported.

cardNumber
string

This entry is currently not supported. Only a relationship to account is required during POST.

narrative
string (30)

Free text reference. If not provided default to the transactionType TEXTUAL description.

Relationships
batch
required

A transaction must always be linked to a batch.

Note, transaction can only be linked to a batch if changes are allowed, i.e processing status either Entered (007) or Error (003).

account
required

A transaction must always be linked to an account.

Response

HTTP 202 (Accepted)

Response body will contain the created JSON:API resource of type miscellaneousBatchSlips .

2.1 Get Batch Slips

Retrieval of a specified individual batch slip including the batch (/miscellaneousBatches) and related account (/accounts).

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatchSlips?include=batch,account

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Parameters

include batch,account

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type miscellaneousBatchSlips with batch,accountas included resources.

2.2 Update Batch Slip

Amendment of any batch slips entered which status is Entered (007), In Error (003) or Cancelled (017) only.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatchSlips/{{miscellaneousBatchSlipId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type miscellaneousBatchSlips with the following attributes:

Name Description
numberOriginalSlip
string (11)

Free text reference up to 11 characters. This field can be used to refer to an external (outside of BankWORKS) transaction. If this is null/empty, it will be generated similar with transactionSlip.

transactionType
string (3)

Type of transaction i.e. Miscellaneous Debit (950), Miscellaneous Credit (951), etc.

transactionCategory
string (3)

This value is used to identify what category the transaction belongs to, e.g Charges & Fees, Adjustments, etc.

transactionDate
date-only

Date of the transaction. Must be less than or equal to the current posting date.

valueDate
date-only

The date from when action can be taken upon a transaction.

transactionAmountGross
object

The amount of the individual transaction. Must be greater than 0 and the currency value must match with the batch currency!

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

reversalFlag
string (3)

Indicator used to identify if the transaction is reversed or not. Defaulted to 000 (No).

cardAlias
string

This information is currently not supported.

cardNumber
string

This entry is currently not supported. Only a relationship to account is required during POST.

narrative
string (30)

Free text reference. If not provided default to the transactionType TEXTUAL description.

Relationships

Response

HTTP 202 (Accepted)

Response body will contain the updated JSON:API resource of type miscellaneousBatchSlips .

2.3 Delete Batch Slip

Deletion of batch slips according to the qualified status.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatchSlips/{{miscellaneousBatchSlipId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Response

HTTP 500 (Internal Server Error)

Response body will contain the deleted JSON:API resource of type miscellaneousBatchSlips .

3. Approve Batch

Approving the batch by setting the processing status to Approved (008) to be sent to processing.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/miscellaneousBatches/{{miscellaneousBatchId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type with the following attributes:

Name Description

Response

HTTP 202 (Accepted)

Response body will contain the updated JSON:API resource of type miscBatches .

Payment Instructions

In BankWORKS, the payment instructions are settlement instruction rules that drive account settlement process. In this regard, payment instructions are very similar to settlementSchemes, the main difference being that payment instructions are defined for a particular merchant account.

Payment instructions are defined for a contract group or individual client and may affect a number of different accounts.Payment instructions allow for more fine grained settlement rules to be defined per merchant account.

Payment Instructions

Retrieval of payment instruction records linked to a merchant account. In this particular example, filtering is being applied on the related accounts resource to return payment instructions defined for a particular merchant account identified by the BankWORKS account number.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/paymentInstructions?filter[account.accountNumber]=10050002002

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[account.accountNumber] 10050002002

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type paymentInstructions .

Add Payment Instructions

A request to create new payment instructions record.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/paymentInstructions

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type paymentInstructions with the following attributes:

Name Description
transactionType
string (3)
required

Defines the transaction type assigned to the outgoing transaction.

Refer to BankWorks (API) Data Mapping documentation for possible values.

paymentBase
decimal (18)

Fixed base amount applied to the generated payment. Defaulted to zero if not sent.

paymentPercentage
decimal (11)

Percentage amount based on the total payable amount. This is applied to the payment base. Defaulted to zero if not sent.

paymentMinimum
decimal (18)

Minimum amount generated should paymentBase paymentPercentage not reach the minimum threshold. Defaulted to zero if not sent.

paymentMaximum
decimal (18)

Maximum amount generated should paymentBase paymentPercentage go over the mamximum threshold. Defaulted to zero if not sent.

executionCountLimit
int (11)

The total payment instruction execution count limit. This is compared with the execution counter and when the threshold defined is reached, the instruction no longer executes.

notes
string (1300)

Allows a generic text description to be provided with the rule for reference purposes.

paymentCategory
string (3)
required

Indicates the settlement category of the payment instruction.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clearingChannel
string (3)
required

Defines the outgoing clearing channel assigned to the payment transactions generated.

Refer to BankWorks (API) Data Mapping documentation for possible values.

trigger
object
Name Description
source
string (6)

Defines the value or event that triggers the payment instruction.

Refer to BankWorks (API) Data Mapping documentation for possible values.

ruleId
string (3)
required

Groups a set of payment instructions instructions under a trigger rule.

Refer to BankWorks (API) Data Mapping documentation for possible values.

period
string (3)
required

Defines the execution frequency of the payment instruction rule.

Refer to BankWorks (API) Data Mapping documentation for possible values.

startDate
date-only

Indicates the applicable start date of the payment instruction rule. Defaulted to the current posting date if not provided.

endDate
date-only

Indicates the expiry date of the payment instruction rule. Defaulted to 9999-12-31 if no value is provided.

operator
string (3)
required

The mathematical operator related to the trigger source and values.

valueLow
decimal (18)

Works in relation with the trigger source and trigger operator. The minimum amount that fires the trigger based on the defined trigger source event.

valueHigh
decimal (18)

Works in relation with the trigger source and trigger operator. The maximum amount that fires the trigger based on the defined trigger source event.

executionAmountLimit
decimal (11)

The total limit threshold allowed for the payment instruction rule. This works in conjunction with the executionAmountPaid. Once this limit is reached, the payment instruction rule no longer executes.

Relationships
account
required

Accounts which this payment instructions will be applied.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type paymentInstructions .

Modify Payment Instructions

Request to modify a payment instruction identified by it’s instructionIdNumber. Refer to table below for more information on what can be amended.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/paymentInstructions/{{paymentInstructionId}}

Request Headers

Authorization Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type paymentInstructions with the following attributes:

Name Description
transactionType
string (3)
required

Defines the transaction type assigned to the outgoing transaction.

Refer to BankWorks (API) Data Mapping documentation for possible values.

paymentBase
decimal (18)

Fixed base amount applied to the generated payment. Defaulted to zero if not sent.

paymentPercentage
decimal (11)

Percentage amount based on the total payable amount. This is applied to the payment base. Defaulted to zero if not sent.

paymentMinimum
decimal (18)

Minimum amount generated should paymentBase paymentPercentage not reach the minimum threshold. Defaulted to zero if not sent.

paymentMaximum
decimal (18)

Maximum amount generated should paymentBase paymentPercentage go over the mamximum threshold. Defaulted to zero if not sent.

executionCountLimit
int (11)

The total payment instruction execution count limit. This is compared with the execution counter and when the threshold defined is reached, the instruction no longer executes.

notes
string (1300)

Allows a generic text description to be provided with the rule for reference purposes.

paymentCategory
string (3)
required

Indicates the settlement category of the payment instruction.

Refer to BankWorks (API) Data Mapping documentation for possible values.

clearingChannel
string (3)
required

Defines the outgoing clearing channel assigned to the payment transactions generated.

Refer to BankWorks (API) Data Mapping documentation for possible values.

trigger
object
Name Description
source
string (6)

Defines the value or event that triggers the payment instruction.

Refer to BankWorks (API) Data Mapping documentation for possible values.

ruleId
string (3)
required

Groups a set of payment instructions instructions under a trigger rule.

Refer to BankWorks (API) Data Mapping documentation for possible values.

period
string (3)
required

Defines the execution frequency of the payment instruction rule.

Refer to BankWorks (API) Data Mapping documentation for possible values.

startDate
date-only

Indicates the applicable start date of the payment instruction rule.

endDate
date-only

Indicates the expiry date of the payment instruction rule.

operator
string (3)
required

The mathematical operator related to the trigger source and values.

valueLow
decimal (18)

Works in relation with the trigger source and trigger operator. The minimum amount that fires the trigger based on the defined trigger source event.

valueHigh
decimal (18)

Works in relation with the trigger source and trigger operator. The maximum amount that fires the trigger based on the defined trigger source event.

executionAmountLimit
decimal (11)

The total limit threshold allowed for the payment instruction rule. This works in conjunction with the executionAmountPaid. Once this limit is reached, the payment instruction rule no longer executes.

Relationships
account

if there is chanage on binded account

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type paymentInstructions .

Delete Payment Instruction

Delete a payment instruction record.

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/paymentInstructions/{{paymentInstructionId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 204 (No Content)

Response body will contain the deleted JSON:API resource of type paymentInstructions .

Pricing

This use case section covers pricing using the tariff based pricing approach.  Two types of tariffs can be set up using this method, transaction charge tariff covering per-transaction charges and client tariffs covering account and service fees.  Both tariffs are linked to the merchant contract (see /contracts resource).  

This method of pricing requires a source tariff to be identified as the starting point and allows certain rules to be overridden prior to processing the tariff request.  Refer to each section for more details on the flow.

Transaction Charge Tariff

Transaction charges are grouped under a merchant transaction charge tariff. Clients are assigned this transaction charge tariff to the contract which determines the applicable fees (see /contracts).

The pricing resources allow institution or broker clients to define new pricing tariffs that are based on existing setup. In order to define a new transaction charge tariff:

1) The source transaction charge tariff needs to be first identified. Refer to steps 1 and 2 which provide examples on how a list of tariff and it’s contents can be retrieved.
2) A POST request can be sent with the new tariff description linking to the source tariff via a relationship. This results in the new tariff being cloned off the source tariff with the default rates. Refer to step 3 for more information.
3) Amendable rates can be overridden on the new tariff as desired. Refer to Step 4.
4) Finally the tariff can be processed by amending the processing status.

Once a tariff is created it can be be assigned to existing or clients being defined in BankWORKS.

NOTE: Unprocessed tariffs have a time-to-live (ttl) property which determines how long in seconds these will be available before automatically being cleaned up.

1. Retrieve transaction charge tariffs by Service Contract Id

A request to return a list of available (processed) transaction charges tariffs belonging to a service contract.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/merchantTransactionTariffs?filter[serviceContractId]=101&filter[processed]=true

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[serviceContractId] 101
filter[processed] true

Response

HTTP 200 (OK)

2. Retrieve transaction charge tariff rules

Return the transaction charge tariff contents of a particular tariff by the resource ID which is identified in the previous step.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/merchantTransactionTariffs/{{merchantTransactionTariffId}}/transactionTariffRules

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[serviceContractId] 101
filter[processed] true

Response

HTTP 200 (OK)

3. Define a new transaction charge tariff

Definition of a new transaction charge tariff based on a source template identified in the previous steps. This will result in a new transaction charge tariff that is a copy of the old transaction charge tariff but with processed status false.

The new transaction charge tariff and it’s contents can be retrieved by sending a GET request similar to Step 2.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/merchantTransactionTariffs

Request Headers

Authorization Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type merchantTransactionTariffs with the following attributes:

Name Description
description
string
required

Descriptive name of the tariff. Up to 25 characters.

Relationships
sourceTemplate
required

The source tariff to be cloned for modification. The tariff must be processed.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type merchantTransactionTariffs .

4. Update transaction charge tariff rules

Amendable rules of an unprocessed transaction charge tariff can be modified by submitting a PATCH request on the respective rule resource ID. Please refer to the below list of amendable fields. Only unprocessed tariffs can be modified. This step may be repeated as necessary.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/transactionTariffRules/{{transactionTariffRuleId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type transactionTariffRules with the following attributes:

Name Description
feePercent
number

The percentage value used to generate the fee for product based on fee trigger setup. Maximum allowed length (including decimal point) is 11.

feeMinimum
object

Indicates the minimum value that can be charged for the product if the feeBase and feePercent values are LOWER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMaximum
object

Indicates the maximum value that can be charged for the product if the feeBase and feePercent values are GREATER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeBase
object

The standard amount generated for the product fee. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type transactionTariffRules .

5. Process the new transaction charge tariff

This call, which is the final step in defining a new transaction charge tariff, is MANDATORY.

This PATCH request triggers the process to transfer the newly cloned transaction charge tariff from interim storage to Oracle DB. An API response of 200 or 201 (successful), indicating that the tariff was successfully processed and activated, will also be passed when the processing is completed.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/merchantTransactionTariffs/{{merchantTransactionTariffId}}

Request Headers

Authorization Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type merchantTransactionTariffs with the following attributes:

Name Description
description
string

Descriptive name of the tariff. Up to 25 characters.

processed
boolean
required

Set to true to process or activate the newly cloned transaction tariffs.

Relationships

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type merchantTransactionTariffs .

Retrieve list of unprocessed transaction charge tariffs

Return the tariff contents of a particular tariff by the resource ID which is identified in the previous step.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/merchantTransactionTariffs?filter[processed]=false

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[processed] false

Response

HTTP 200 (OK)

Client Tariff

Client tariffs group account and service fees under an identifier. Clients are assigned a client tariff to the contract which determines the applicable fees (see /contracts).

The pricing resources allow institution or broker clients to define new pricing tariffs that are based on existing setup. In order to define a new client tariff:

1) The source client tariff needs to be first identified. Refer to steps 1 and 2 which provide examples on how a list of tariff and it’s contents can be retrieved.
2) A POST request can be sent with the new tariff description linking to the source tariff via a relationship. This results in the new tariff being cloned off the source tariff with the default rates. Refer to step 3 for more information.
3) Amendable rates can be overridden on the new tariff as desired. Refer to Step 4.
4) Finally the tariff can be processed by amending the processing status.

Once a tariff is created it can be be assigned to existing or clients being defined in BankWORKS.

NOTE: Unprocessed tariffs have a time-to-live (ttl) property which determines how long in seconds these will be available before automatically being cleaned up.

1. Retrieve client tariffs by Service Contract Id

A request to return a list of available (processed) tariffs belonging to a service contract.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/merchantClientTariffs?filter[serviceContractId]=101&filter[processed]=true

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[serviceContractId] 101
filter[processed] true

Response

HTTP 200 (OK)

2. Retrieve client tariff rules

Return the tariff contents of a particular tariff by the resource ID which is identified in the previous step.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/merchantClientTariffs/{{merchantClientTariffId}}/clientTariffRules

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[serviceContractId] 101
filter[processed] true

Response

HTTP 200 (OK)

3. Define a new tariff

Definition of a new tariff based on a source template identified in the previous steps. This will result in a new tariff that is a copy of the old tariff but with processed status false.

The new tariff and it’s contents can be retrieved by sending a GET request similar to Step 2.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/merchantClientTariffs

Request Headers

Authorization Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type merchantClientTariffs with the following attributes:

Name Description
description
string
required

Descriptive name of the tariff. Up to 25 characters.

Relationships
sourceTemplate
required

The source tariff to be cloned for modification. The tariff must be processed.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type merchantClientTariffs .

4. Update tariff rules

Amendable rules of an unprocessed tariff can be modified by submitting a PATCH request on the respective rule resource ID. Please refer to the below list of amendable fields. Only unprocessed tariffs can be modified. This step may be repeated as necessary.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/clientTariffRules/{{clientTariffRuleId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type clientTariffRules with the following attributes:

Name Description
feePercent
number

The percentage value used to generate the fee for account fee trigger setup. Maximum allowed length (including decimal point) is 11.

feeMinimum
object

Indicates the minimum value that can be charged for the account if the feeBase and feePercent values are LOWER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeMaximum
object

Indicates the maximum value that can be charged for the account if the feeBase and feePercent values are GREATER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeBase
object

The standard amount generated for the account fee. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

Response

4. Update tariff rules - Successful : HTTP 200 (OK)

4. Update tariff rules - Error 1 : HTTP 403 (Forbidden)

4. Update tariff rules - Error 2 : HTTP 403 (Forbidden)

Response body will contain the updated JSON:API resource of type clientTariffRules .

5. Process the new tariff

This call, which is the final step in defining a new client tariff, is MANDATORY.

This PATCH request triggers the process to transfer the newly cloned client tariff from interim storage to Oracle DB. An API response of 200 or 201 (successful), indicating that the tariff was successfully processed and activated, will also be passed when the processing is completed.

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/merchantClientTariffs/{{merchantClientTariffId}}

Request Headers

Authorization Bearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type merchantClientTariffs with the following attributes:

Name Description
description
string

Descriptive name of the tariff. Up to 25 characters.

processed
boolean
required

Set to true to process or activate the newly cloned client tariffs.

Relationships

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type merchantClientTariffs .

Retrieve list of unprocessed tariffs

Return the tariff contents of a particular tariff by the resource ID which is identified in the previous step.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/merchantClientTariffs?filter[processed]=false

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[processed] false

Response

HTTP 200 (OK)

Template Based Pricing

bankWORKS introduce a new pricing template system which allows a number of pricing templates to be defined by an acquirer on behalf of their brokers. Each tariff template would belong to a pricing model and can be assigned to a broker entity. The broker would have access to these templates which in theory define the set of charges and fees that the broker can negotiate with their merchant.

Two new group of resources, representing the merchant transaction tariff templates (BWT_ACCOUNT_CONDITION_SET GROUP C) and merchant client tariff templates (BWT_ACCOUNT_CONDITION_SET GROUP A). In each group it can define a new transaction charge tariff definitions or client tariff definitions that is base on a template.

Transaction Charge Tariff by Template

Two new resources, one representing the merchant transaction tariff templates available, the other for defining new transaction charge tariff definitions.

1. Get Transaction Tariff Templates

Returns transaction charge templates based on the available pricing models. Only one template per pricing model is available.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/transactionTariffTemplates

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 200 (OK)

2. Get Template Charge Rules

Returns transaction charge rules based on the available pricing models.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/transactionTariffTemplates/{{transactionTariffTemplateId}}/chargeRules

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 200 (OK)

3. Get Charge Rules

Returns transaction charge rules regardless of the effective date.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/chargeRules?filter[clientTariff]=900017

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[clientTariff] 900017

Response

HTTP 200 (OK)

4. Get Transaction Tariff Definition

Returns transaction definition that contain the charge rules.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/transactionTariffDefinitions/{{transactionTariffDefinitionId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 200 (OK)

5. Add Transaction Tariff

Accepts a set of rules. Related to a transactionTariffTemplates. Please note that the chargeRules will return a null value.  In case this information is required a separate GET request is required.

EndFragment

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/transactionTariffDefinitions

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type transactionTariffDefinitions with the following attributes:

Name Description
chargeRules
object

This is an array of new transaction charges rules that are to be define based on the transaction tariff template.

Name Description
effectiveDate
date-only

Date when the charge fee becomes effective.

feePercent
number
required

The new percentage value used to generate the fee for product based on fee trigger setup. Maximum allowed length (including decimal point) is 11.

feeBase
object
required

The new standard amount generated for the product fee. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

feeMinimum
object
required

The new minimum value that can be charged for the product if the feeBase and feePercent values are LOWER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

feeMaximum
object
required

The new maximum value that can be charged for the product if the feeBase and feePercent values are GREATER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Relationships
transactionTariffTemplate
required

A new merchant tariff should be based on an existing transaction tariff template rule.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type transactionTariffDefinitions .

Client Tariff by Template

Two new resources, one representing the client tariff templates available, the other for defining new client tariff definitions.

The main three fee types represented under a client tariff include:

  • Account Fees (FEE_CATEGORY 001)
  • Service Fees (FEE_CATEGORY 002)
  • Device Fees (FEE_CATEGORY 015)

1. Get Client Tariff Templates

Returns client tariff templates based on the available fee models. Only one template per fee model is available.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/clientTariffTemplates

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 200 (OK)

2. Get Template Fee Rules

Returns client fee rules based on the available fee models.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/clientTariffTemplates/{{clientTariffTemplateId}}/feeRules

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 200 (OK)

3. Get Fee Rules

Returns the client tariff fee rules regardless of the effective date.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/feeRules?filter[conditionSet]=900012

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[conditionSet] 900012

Response

HTTP 200 (OK)

4. Get Client Tariff Definition

Returns client tariff definition that contain the fee rules.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/clientTariffDefinitions/{{clientTariffDefinitionId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[conditionSet] 600003

Response

HTTP 200 (OK)

5. Add Client Tariff

Accepts a set of rules. Related to a clientTariffTemplates. Please note that the feeRules will return a null value.  In case this information is required a separate GET request is required.

EndFragment

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/clientTariffDefinitions

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type clientTariffDefinitions with the following attributes:

Name Description
feeRules
object

This is an array of client fee new rules that are to be define based on the client tariff template.

Name Description
effectiveDate
date-only

Date when the client fee becomes effective.

feePercent
number
required

The new percentage value used to generate the fee for product based on fee trigger setup. Maximum allowed length (including decimal point) is 11.

feeBase
object
required

The new standard amount generated for the product fee. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

feeMinimum
object
required

The new minimum value that can be charged for the product if the feeBase and feePercent values are LOWER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

feeMaximum
object
required

The new maximum value that can be charged for the product if the feeBase and feePercent values are GREATER than this value. Note that all fee amount currencies MUST match. Maximum allowed length (including decimal point) is 11.

Relationships
clientTariffTemplate
required

A new client tariff definition should be based on an existing client tariff template rule.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type clientTariffDefinitions .

Sundry Transfer Instruction

Get All Transfer Instructions

Retrieval of all sundry transfer instructions regardless of processing status.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/transferInstructions

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Parameters

include destinationAccount,remainderAccount,sourceAccount

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type transferInstructions with destinationAccount,remainderAccount,sourceAccountas included resources.

Get Transfer Instruction

Retrieval of all sundry transfer instructions regardless of processing status.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/transferInstructions/{{transferInstructionId}}?include=destinationAccount,remainderAccount,sourceAccount

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Parameters

include destinationAccount,remainderAccount,sourceAccount

Response

HTTP 200 (OK)

Response body will contain the requested JSON:API resource of type transferInstructions with destinationAccount,remainderAccount,sourceAccountas included resources.

Add New Transfer Instruction

Creation of a new sundry transfer instruction.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/transferInstructions

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type transferInstructions with the following attributes:

Name Description
originalTransactionSlip
string (11)
required

The transaction slip value of the transaction to be transferred.

transactionAmount
object

Either this amount or accountAmount must be provided. If this amount is provided and it is less than the original slip’s transaction amount, it means that it is a partial transfer.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

accountAmount
object

Either this amount or transactionAmount must be provided. If this amount is provided and it is less than the original slip’s account amount, it means that it is a partial transfer.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

narrative
string (50)

Free text reference. Either this or notes or both. If not provided default to original slip’s merchant name.

notes
string (100)

Free text reference. Either this or narrative or both.

Relationships
destinationAccount
required

The write-off, loss, or merchant payment or hold (or any other as needed) account.

remainderAccount

Can be provided only in the POST in case of partial transfer. It is not mandatory.

Response

HTTP 202 (Accepted)

Response body will contain the created JSON:API resource of type transferInstructions .

Edit Transfer Instruction

Can be edited only if the transfer instruction status is NOT Completed (002).

Request

PATCH https://wsmdemo.rs2.com/wsm/jsonapi/transferInstructions/{{transferInstructionId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Request Body

A JSON:API resource of type transferInstructions with the following attributes:

Name Description
originalTransactionSlip
string (11)

The transaction slip value of the transaction to be transferred.

transactionAmount
object

Either this amount or accountAmount must be provided. If this amount is provided and it is less than the original slip’s transaction amount, it means that it is a partial transfer.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

accountAmount
object

Either this amount or transactionAmount must be provided. If this amount is provided and it is less than the original slip’s account amount, it means that it is a partial transfer.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

narrative
string (50)

Free text reference. Either this or notes or both. If not provided default to original slip’s merchant name.

notes
string (100)

Free text reference. Either this or narrative or both.

Relationships
destinationAccount

The write-off, loss, or merchant payment or hold (or any other as needed) account.

remainderAccount

Can be provided only in the POST in case of partial transfer. It is not mandatory.

Response

HTTP 200 (OK)

Response body will contain the updated JSON:API resource of type transferInstructions .

Delete Transfer Instruction

Can be deleted only if the transfer instruction status is NOT Completed (002).

Request

DELETE https://wsmdemo.rs2.com/wsm/jsonapi/transferInstructions/{{transferInstructionId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json

Response

HTTP 204 (No Content)

Response body will contain the deleted JSON:API resource of type transferInstructions .

Authorizations

This section contains a list of online authorization use cases that can be handled using the API.

Auth & Capture

Presents an authorization and capture advice to settle the authorization.  An optional addendum request is included which can be used to pass L2/L3 data prior to capture. Please review the use cases for more information on the authorization message request.

1. Authorisation

Represents an authorization use case, a transaction request to block cardholder funds.  Authorizations need to be Captured in order for the transaction to proceed for settlement.

In case of an HTTP status code 202 response indicating an issue communicating with the card network, the client should reverse the auth, please refer to the Reversals use-case for more information on reversals. Following a successful reversal a new pre-auth should be sent.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/authorisations

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type authorisations with the following attributes:

Name Description
cardNumber
string (19)
required

The cardholder’s card number. The value is returned in masked format.

To filter with this field, you will need to use the LIKE operator with wildcard(%25) and the last four digits of the card, together with a filter for other fields if needed.

  • filter[cardNumber][LIKE]=%258906
expiryDate
number (4)
required

The expiry date of the card in YYMM format.

messageTypeId
string (4)
required

‘0100’ must be provided to indicate a first pre-authorization.

transactionDate
date-time
required

Local date and time of the transaction originating at the point of service in ISO 8601 format.

transmissionDate
date-time

The transaction date and time at point of service in UTC 0, expressed in ISO 8601 format.

amount
object
required

Requested amount for this authorization. If the authorization will include a surcharge amount (provided in feeAmount), the amount attribute needs to include the full authorization amount, requested amount + the surcharge amount.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeAmount
object

The feeAmount can be used to add a surcharge fee to the transaction. The value accepts both a negative and positive value. A negative value indicates a credit to the cardholder. A positive value indicates a debit to the cardholder. To determine the authorisation amount the feeAmount can be added or subtracted to the amount value depending on the feeAmount sign.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

transactionType
string (2)
required

‘00’ must be provided to indicate a purchase transaction.

authIndicator
string (2)

Optional attribute. Can be passed the following:

  • C = Credentials on file
  • R = Recurring Transaction

Applicable to Diners / Discover only

  • L = Delayed Card Sale
  • E = Re-submission of Card Sale
  • N = No-Show Charge

  • U = Unscheduled Payment

Diners only

  • H = Re-authorization
additionalAuthIndicator
string (1)

This indicator can be used as an additional flag for specific authorization requests.

An example would be for merchants with terminals accepting partial authorizations, request would need to be provided with either 1 or 3 value.

Possible values:

  • 0 = Not applicable: Indicators not set in current transaction or field is not applicable

  • 1 = Terminal accepts partial authorization responses

  • 2 = Estimated amount and terminal does not support partial authorization responses

  • 3 = Estimated amount and terminal accepts partial authorization responses

paymentGatewayId
string (11)

Represents the MasterCard merchant payment gateway identifier registered with the card scheme. Should contain numeric value only up to 11 digits.

stan
string (6)

The System Trace Audit Number. A six digit code that must be unique for an online request. Used in conjunction with the transmissionDate and messageType ID to uniquely identify an authorisation.

externalReference
string (36)

A client-specific external identifier value. The value of the externalReference must be unique for each transaction.

purchaseIdentifier
String (26)

This field contains the equivalent of Visa DE62 Subfield 7.

Position 1 is the purchase identifier format. As listed below are the valid values:

  • 1 - Order Number

  • 3 - Rental Agreement Number

  • 4 - Hotel Folio Number

  • 5 - Invoice Number

Position 2-26 is the purchase identifier, this contains the order number.

eCom
object
required

Object containing eCommerce related attributes, for eCommerce transactions.

Name Description
cvc2
string (4)
required

The 3 or 4 digits card cvc2 security attribute.

3dSecure
string (42)

Multi-purpose data transport used to communicate cardholder authentication data between the cardholder, merchant, acquirer and issuer for e-commerce transactions.

Its presence is indicated by the securityLevelIndicator attribute.

The data to be passed must be as specified in the Card Organisation online specification manual. For further details please refer to:

  • Diners/Discover/ELO DE 122 AN(…42)

  • MCR DE 48.43 ANS(…32)

  • VISA DE 126.9 H(40)

  • AMEX DE 61.5 H(40)

xid
string (42)

The Universal Cardholder Authentication Field value used for 3D secure transport. Applicable for VISA authorisations only.

securityLevelIndicator
string (3)
required

Indicates if the eCommerce channel is encrypted and if UCAF is supported or not by the merchant. The below positions 1, 2 and 3 indicate the options of the secure level indicator.

  • 21x - Channel Encrypted
  • 22x - Encrypted MasterPass
  • 91x - No Security Protocol (9xx - No security protocol cannot be used for MasterCard transactions)
  • xx0 - UCAF not supported
  • xx1 - UCAF supported
  • xx2 - UCAF present
  • xx4 - UCAF present with Insights AAV for MasterCard Identity Check
psd2ExemptionFlag
string (2)

Valid values:

  • 01 = Merchant Initiated Transaction

  • 02 = Transaction passed a risk analysis

  • 03 = Low Value Payment

  • 04 = SCA delegated

  • 05 = Secure Corporate Payment

  • 06 = Trusted Merchant

  • 07 = Authentication Outage Exception (Currently Mastercard only supported)

3dSecVersion
string (1)

The 3DSecure Version indicates the program protocol being used. The character is the 3D Secure version number. Applicable for MasterCard 3D secure transactions only.

  • 1 = EMV 3-D Secure Version 2.1

  • 2 = EMV 3-D Secure Version 2.2

  • 3 = EMV 3-D Secure Version 2.3

  • 4 = EMV 3-D Secure Version 2.4

  • 5 = EMV 3-D Secure Version 2.5

  • 6 = EMV 3-D Secure Version 2.6

  • 7 = EMV 3-D Secure Version 2.7

  • 8 = EMV 3-D Secure Version 2.8

  • 9 = EMV 3-D Secure Version 2.9

3dSec2DirSerTranId
string (36)

MasterCard only. Applicable for 3D Secure Version 2.0 onwards. Indicates the Directory Server Transaction ID provided by the authentication server. For example:

f38e6948-5388-41a6-bca4-b49723c19437.

pos
object
required

Object containing point of service specific attributes.

Name Description
terminalId
string (8)

An 8-character value identifying the transaction point of service. This value may be required in certain scenarios for transactions to be cleared. If not provided the value defaults to a ‘0AUTHAPI’ value.

panEntry
string (3)
required

PAN entry mode

  • 010 - Manual
posCondition
string (2)
required

2-digit ISO value that is used to identify the point of service event of the authorization.

  • 59 - eCommerce
  • 07 - Phone/ARU order
  • 08 - Mail order
avs
object

Object containing Address Verification System attributes

Name Description
postCode
string (9)

Cardholder postcode, for AVS verification, up to 9 characters

streetAddress
string (20)

Cardholder street information for AVS verficiation, up to 20 characters. Alphabetic numbers should be sent in a numeric format. For example, ‘1 second avenue’ should be sent as ‘1 2nd avenue’

response
string (1)

AVS Response.

Address Verification Service Response Visa:

  • A - Street address: MATCH

  • B - N/A

  • M - Post code: MATCH, Street address: MATCH

  • N - Post code MISTMATCH, Street address MISMATCH

  • P - N/A

  • R - Post code: RETRY, Street address: SYSTEM UNAVAILABLE

  • U - Post code: NOT VERIFIED, Street address: NOT VERIFIED

  • Z - Post code: MATCH

Address Verification Service Response Other Card Schemes:

  • A - Post code MISMATCH, Street address MATCH
  • B - Post code NOT VERIFIED, Street address MATCH
  • M - Post code MATCH, Street address MATCH
  • N - Post code MISTMATCH, Street address MISMATCH
  • P - Post code MATCH, Street adress NOT VERIFIED
  • R - RETRY;SYSTEM, Street address UNAVAILABLE
  • U - Post code NOT VERIFIED, Street address NOT VERIFIED
  • Z - Post code MATCH, street address MISMATCH
paymentFacilitator
object

Object containing attributes to support payment facilitator or marketplace requests.

Name Description
cardAcceptorName
string (25)

Only to be provided in case of transactions initiated by payment facilitator or marketplace. Do not send in case of regular merchants.

For Payment Facilitators

Includes the payment facilitator name, in full or in abbreviated form, must be three, seven, or twelve characters in length, followed by an asterisk and the sub-merchant name. Example: PayFacs*SubMerchant

For Visa Marketplaces

Either : Includes the marketplace name, in full or in abbreviated form, followed by an asterisk and the retailer name. Example: Marketplace*Retailer

OR : Includes the marketplace name only

Note: Formats mentioned above are in the RS2Host specification format. RS2 handles the internal conversion to ensure compliance with the card scheme format depending on the card organization applicable for the transaction.

subMerchantCity
string (13)

Indicates the city location of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

subMerchantCountry
string (3)

Indicates the country code, using ISO-3 letter format, of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

paymentFacilitatorId
string (11)

This attribute contains the Payment Facilitator ID/Marketplace ID assigned by the card scheme.

Note 1: As of October 2020 Marketplace is only supported by VISA.

independentSalesOrganisationId
string (11)

This attribute contains the Independent Sales Organization ID assigned by the card scheme.

subMerchantId
string (15)

This attribute contains the Merchant ID of the sub-merchant.

Note: This is also referred to as Sponsored Merchant ID.

subMerchantStreet
string (48)

This attribute contains the card acceptor street for the sub-merchant or Amex OptBlue participant.

subMerchantPostCode
string (10)

This attribute indicates the geographic code of the sub-merchant’s location.

When it is present in a Brazilian Visa transaction, this subfield contains the 8-character numeric postal code.

subMerchantPanEntry
string (1)

The terminal entry capability for sub-merchant terminal:

  • 0 unknown
  • 1 manual, no terminal

Refer to API Data Mapping documentation for list of terminal entry capability available for the institution.

subMerchantTaxId
string (15)

Sub-merchant Tax ID.

This field can also be used for the Brazil sub-merchant tax ID to be sent for Brazil Visa and ELO transactions.

subMerchantVatCategory
string (2)

This attribute contains the Argentina sub-merchant tax category id to be sent for Argentina Mastercard Domestic transactions. Valid values are:

  • 01 Registered Taxpayer
  • 02 Subject not Categorized
  • 03 Exempt
  • 08 Single Taxpayer
  • 09 Not Registered Taxpayer (Re-categorized Form 560/F AFIP) Non-Registered Taxpayer (Recategorized Form 560/F AFIP))
foreignRetailerIndicator
string (1)

Only applicable in case of a Visa Marketplace transaction:

  • Not included if retailer is in the same country as the acquirer
  • F’ In case the the retailer is located in a different country
state
string (3)

State of the sub-merchant. Used by MasterCard/AMEX/Discover only.

email
string (40)

Email of sub-merchant or Amex OptBlue Participant.

telephoneNumber
string (20)

Sub-merchant telephone number available for Mastercard / AMEX / Discover. Required by Mastercard in case URL is not available.

This attribute can also be used for Amex: OptBlue Participants and Bill Payment Providers as well.

Amex Supports up to 20 characters. MasterCard/Visa/Discover support up to 16 characters.

For a limited time period, this attribute can be used to supply the merchant\’s service telephone number in case of a MasterCard merchant not having the service telephone number stored in BankWORKS.

url
string (97)

Represents the sub-merchant website address.

Required by MasterCard for eCommerce transactions and in case a service telephone number (paymentFacilitator.telephoneNumber) is not available.

For a limited time period, this attribute can be used to supply the merchant’s URL in case of a MasterCard merchant not having the URL stored in BankWORKS.

subMerchantMcc
string (4)

To be provided on in case of a transaction initiated by a payment facilitator.

Refer to API Data Mapping documentation for list of MCCs available for the institution.

serviceLocation
object

The service location object is used to pass service location data related to the transaction as required by MasterCard.

Service location data is applicable for:

  • E-commerce: electric vehicle charging or fuel purchase
  • E-commerce: In-store pickup
  • Ride-hailing (eCommerce app payment)
  • Onboard transit (eCommerce app payment)
Name Description
cityName
string (13)

Service location city name.

state
string (3)

Service location state (sub-country) code.

country
string (3)

Service location country code (ISO-3 letter format)

postCode
string (10)

Service location post code.

Relationships
merchant
required

Mandatory relationship linking the pre-authorization request with the merchant.

Response

1. Authorisation - Status Code 201 : HTTP 201 (Created)

1. Authorisation - Status Code 202 : HTTP 202 (Accepted)

Response body will contain the created JSON:API resource of type authorisations .

2. Addendum L2/L3 Data (Optional)

Optional request to submit 

L2/L3 data related to the original pre-authorization. It is possible to send multiple addendum messages linked to the original pre-auth. A sequence is available in such cases, please refer to the attribute documentation for more information on this.  Currently only Corporate Card data is supported.

In case of an HTTP status code 404 response, the client should re-send the same request after 5 seconds (for a maximum of 3 attempts).

In case of an HTTP status code 202 response indicating an issue communicating with the card network, the client can safely re-send the authorization supplying an updated stan and a transmissionDate attribute values. Do not reverse the addendum authorization.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/authorisationsAddendum

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type authorisationsAddendum with the following attributes:

Name Description
transactionDate
date-time
required

Local date and time of the transaction originating at the point of service in ISO 8601 format.

transmissionDate
date-time
required

The transaction date and time at point of service in UTC 0, expressed in ISO 8601 format.

stan
string (6)
required

The System Trace Audit Number. A six digit code that must be unique for an online request. Used in conjunction with the transmissionDate and messageType ID to uniquely identify an authorisation.

addendumType
string (5)
required

Represents a descriptor identifying the type of addendum. Accepted values:

CORPT - (corporate card line item)

addendumSequence
number
required

The addendum sequence number must be provided specifying the addendum number starting from ‘1’. If more than one addendum authorisation is sent, the correct sequence increment must be provided.

For example:

  • 0340 request 1- addendumType: ‘CORPT’, addendumSequence: 1

  • 0340 request 2 - addendumType: ‘CORPT’, addendumSequence: 2

addendumJson
string (2000)
required

Generic attribute which accepts a JSON object as a string, containing the necessary addendum record format. Following the intial response, this information is not sent back in GET calls. Data cannot exceed 2000 bytes in size. Please note that the specification is available as a separate document. Please contact your respective RS2 Project Manager for more information.

Relationships
originalAuth
required

The addendum authorisation must be linked to the original pre-auth message.

Response

Response body will contain the created JSON:API resource of type authorisationsAddendum .

3. Capture

The capture advice is sent linked to pre-authorization transaction in order to fulfill a pre-authorization request and debit the cardholder.  The settlement advice message can be sent within 14 days from when the original authorization was sent.  If a reversal on the authorization is received and the capture advice message is received, the capture advice will be declined with responseCode value of ‘12’ - Invalid Transaction.

In case of an HTTP status code 202 response indicating an issue communicating with the card network, the client can safely re-send the authorization supplying an updated stan and a transmissionDate attribute values. Do not reverse the capture authorization.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/authorisations

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type authorisations with the following attributes:

Name Description
messageTypeId
string (4)
required

‘0220’ must be provided to indicate a completion advice.

transactionDate
date-time
required

Local date and time of the transaction originating at the point of service in ISO 8601 format.

transmissionDate
date-time

The transaction date and time at point of service in UTC 0, expressed in ISO 8601 format.

amount
object
required

The final full amount needs to be sent with the completion advice request.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeAmount
object

The feeAmount can be used to add a surcharge fee to the transaction. The value accepts both a negative and positive value. A negative value indicates a credit to the cardholder. A positive value indicates a debit to the cardholder. To determine the authorisation amount the feeAmount can be added or subtracted to the amount value depending on the feeAmount sign.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

transactionType
string (2)
required

‘00’ must be provided to indicate a purchase transaction.

authIndicator
string (2)
required

Must be passed:

  • S = Capture Transaction
networkTraceId
string (15)

This field contains the trace id / transaction identifier used by the card schemes to link subsequent transactions.

In the subsequent requests, RS2 should receive the original trace ID / transaction identifier returned in the response from the first authorization in a recurring series. This includes subsequent aggregate or incremental pre-authorizations, completions, recurring transactions and reversals.

In responses, RS2 will return the trace ID for each transaction as returned by the schemes, which may be different than the one sent in the request. API users are to store the networkTraceId value for subsequent transaction use.

Note: Currently, this field is returned for MasterCard, Visa, Discover, Diners and ELO transactions only

paymentGatewayId
string (11)

Represents the MasterCard merchant payment gateway identifier registered with the card scheme. Should contain numeric value only up to 11 digits.

reasonCode
string (2)
required

‘00’ must be provided to indicate a request for advice approval.

stan
string (6)

The System Trace Audit Number. A six digit code that must be unique for an online request. Used in conjunction with the transmissionDate and messageType ID to uniquely identify an authorisation.

externalReference
string (36)

A client-specific external identifier value. The value of the externalReference must be unique for each transaction.

hasAddendum
boolean

This flag should only be sent with a capture advice request (0220) whenever addendum data is sent via an 0340 message type. An example would be corporate cards L2/L3 data.

eCom
object
required

Object containing eCommerce related attributes, for eCommerce transactions.

Name Description
securityLevelIndicator
string (3)
required

Indicates if the eCommerce channel is encrypted and if UCAF is supported or not by the merchant. The below positions 1, 2 and 3 indicate the options of the secure level indicator.

  • 21x - Channel Encrypted
  • 22x - Encrypted MasterPass
  • 91x - No Security Protocol (9xx - No security protocol cannot be used for MasterCard transactions)
  • xx0 - UCAF not supported
  • xx1 - UCAF supported
  • xx2 - UCAF present
  • xx4 - UCAF present with Insights AAV for MasterCard Identity Check
pos
object
required

Object containing point of service specific attributes.

Name Description
terminalId
string (8)

An 8-character value identifying the transaction point of service. This value may be required in certain scenarios for transactions to be cleared. If not provided the value defaults to a ‘0AUTHAPI’ value.

panEntry
string (3)
required

PAN entry mode

  • 010 - Manual
posCondition
string (2)
required

2-digit ISO value that is used to identify the point of service event of the authorization.

  • 59 - eCommerce
  • 07 - Phone/ARU order
  • 08 - Mail order
Relationships
merchant
required

Mandatory relationship linking the completion with the merchant.

originalAuth
required

Mandatory relationship to the original pre-authorization to be captured.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type authorisations .

Incremental Pre-Auths

Incremental authorizations allow the initial authorized amount provided in the pre-authorization to be increased by sending a subsequent pre-authorisation. Multiple incremental pre-authorization requests can be sent. In order to settle the transaction a completion advice needs to be provided. More information on these messages may be found under the respective use case.

1. First Pre-Auth

This use case covers the initital pre-authorization request in a potential chain of followup incremental pre-authorizations.  

In case of an HTTP status code 202 response indicating an issue communicating with the card network, the client should reverse the auth, please refer to the Reversals use-case for more information on reversals. Following a successful reversal a new pre-auth should be sent.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/authorisations

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type authorisations with the following attributes:

Name Description
cardNumber
string (19)
required

The cardholder’s card number. The value is returned in masked format.

To filter with this field, you will need to use the LIKE operator with wildcard(%25) and the last four digits of the card, together with a filter for other fields if needed.

  • filter[cardNumber][LIKE]=%258906
expiryDate
number (4)
required

The expiry date of the card in YYMM format.

messageTypeId
string (4)
required

‘0100’ must be provided to indicate a first pre-authorization.

transactionDate
date-time
required

Local date and time of the transaction originating at the point of service in ISO 8601 format.

transmissionDate
date-time

The transaction date and time at point of service in UTC 0, expressed in ISO 8601 format.

amount
object
required

Requested amount for this authorization. If the authorization will include a surcharge amount (provided in feeAmount), the amount attribute needs to include the full authorization amount, requested amount + the surcharge amount.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeAmount
object

The feeAmount can be used to add a surcharge fee to the transaction. The value accepts both a negative and positive value. A negative value indicates a credit to the cardholder. A positive value indicates a debit to the cardholder. To determine the authorisation amount the feeAmount can be added or subtracted to the amount value depending on the feeAmount sign.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

transactionType
string (2)
required

‘00’ must be provided to indicate a purchase transaction.

authIndicator
string (2)
required

Must be passed to indicate either:

  • CP = Pre-authorisation with Credentials on File (Used for the first pre-auth transaction in which credentials will be stored). Respective RS2 Project Managers need to be contacted in order to make use of such value.
  • P = Pre-authorisation (Used for the first pre-auth transaction)
additionalAuthIndicator
string (1)

This indicator can be used as an additional flag for specific authorization requests.

An example would be for merchants with terminals accepting partial authorizations, request would need to be provided with either 1 or 3 value.

Possible values:

  • 0 = Not applicable: Indicators not set in current transaction or field is not applicable

  • 1 = Terminal accepts partial authorization responses

  • 2 = Estimated amount and terminal does not support partial authorization responses

  • 3 = Estimated amount and terminal accepts partial authorization responses

paymentGatewayId
string (11)

Represents the MasterCard merchant payment gateway identifier registered with the card scheme. Should contain numeric value only up to 11 digits.

stan
string (6)

The System Trace Audit Number. A six digit code that must be unique for an online request. Used in conjunction with the transmissionDate and messageType ID to uniquely identify an authorisation.

externalReference
string (36)

A client-specific external identifier value. The value of the externalReference must be unique for each transaction.

eCom
object
required

Object containing eCommerce related attributes, for eCommerce transactions.

Name Description
cvc2
string (4)
required

The 3 or 4 digits card cvc2 security attribute.

3dSecure
string (42)

Multi-purpose data transport used to communicate cardholder authentication data between the cardholder, merchant, acquirer and issuer for e-commerce transactions.

Its presence is indicated by the securityLevelIndicator attribute.

The data to be passed must be as specified in the Card Organisation online specification manual. For further details please refer to:

  • Diners/Discover/ELO DE 122 AN(…42)

  • MCR DE 48.43 ANS(…32)

  • VISA DE 126.9 H(40)

  • AMEX DE 61.5 H(40)

xid
string (42)

The Universal Cardholder Authentication Field value used for 3D secure transport. Applicable for VISA authorisations only.

securityLevelIndicator
string (3)
required

Indicates if the eCommerce channel is encrypted and if UCAF is supported or not by the merchant. The below positions 1, 2 and 3 indicate the options of the secure level indicator.

  • 21x - Channel Encrypted
  • 22x - Encrypted MasterPass
  • 91x - No Security Protocol (9xx - No security protocol cannot be used for MasterCard transactions)
  • xx0 - UCAF not supported
  • xx1 - UCAF supported
  • xx2 - UCAF present
  • xx4 - UCAF present with Insights AAV for MasterCard Identity Check
psd2ExemptionFlag
string (2)

Valid values:

  • 01 = Merchant Initiated Transaction

  • 02 = Transaction passed a risk analysis

  • 03 = Low Value Payment

  • 04 = SCA delegated

  • 05 = Secure Corporate Payment

  • 06 = Trusted Merchant

  • 07 = Authentication Outage Exception (Currently Mastercard only supported)

3dSecVersion
string (1)

The 3DSecure Version indicates the program protocol being used. The character is the 3D Secure version number. Applicable for MasterCard 3D secure transactions only.

  • 1 = EMV 3-D Secure Version 2.1

  • 2 = EMV 3-D Secure Version 2.2

  • 3 = EMV 3-D Secure Version 2.3

  • 4 = EMV 3-D Secure Version 2.4

  • 5 = EMV 3-D Secure Version 2.5

  • 6 = EMV 3-D Secure Version 2.6

  • 7 = EMV 3-D Secure Version 2.7

  • 8 = EMV 3-D Secure Version 2.8

  • 9 = EMV 3-D Secure Version 2.9

3dSec2DirSerTranId
string (36)

MasterCard only. Applicable for 3D Secure Version 2.0 onwards. Indicates the Directory Server Transaction ID provided by the authentication server. For example:

f38e6948-5388-41a6-bca4-b49723c19437.

pos
object
required

Object containing point of service specific attributes.

Name Description
terminalId
string (8)

An 8-character value identifying the transaction point of service. This value may be required in certain scenarios for transactions to be cleared. If not provided the value defaults to a ‘0AUTHAPI’ value.

panEntry
string (3)
required

PAN entry mode

  • 010 - Manual
posCondition
string (2)
required

2-digit ISO value that is used to identify the point of service event of the authorization.

  • 59 - eCommerce
  • 07 - Phone/ARU order
  • 08 - Mail order
avs
object

Object containing Address Verification System attributes

Name Description
postCode
string (9)

Cardholder postcode, for AVS verification, up to 9 characters

streetAddress
string (20)

Cardholder street information for AVS verficiation, up to 20 characters. Alphabetic numbers should be sent in a numeric format. For example, ‘1 second avenue’ should be sent as ‘1 2nd avenue’

response
string (1)

AVS Response.

Address Verification Service Response Visa:

  • A - Street address: MATCH

  • B - N/A

  • M - Post code: MATCH, Street address: MATCH

  • N - Post code MISTMATCH, Street address MISMATCH

  • P - N/A

  • R - Post code: RETRY, Street address: SYSTEM UNAVAILABLE

  • U - Post code: NOT VERIFIED, Street address: NOT VERIFIED

  • Z - Post code: MATCH

Address Verification Service Response Other Card Schemes:

  • A - Post code MISMATCH, Street address MATCH
  • B - Post code NOT VERIFIED, Street address MATCH
  • M - Post code MATCH, Street address MATCH
  • N - Post code MISTMATCH, Street address MISMATCH
  • P - Post code MATCH, Street adress NOT VERIFIED
  • R - RETRY;SYSTEM, Street address UNAVAILABLE
  • U - Post code NOT VERIFIED, Street address NOT VERIFIED
  • Z - Post code MATCH, street address MISMATCH
paymentFacilitator
object

Object containing attributes to support payment facilitator or marketplace requests.

Name Description
cardAcceptorName
string (25)

Only to be provided in case of transactions initiated by payment facilitator or marketplace. Do not send in case of regular merchants.

For Payment Facilitators

Includes the payment facilitator name, in full or in abbreviated form, must be three, seven, or twelve characters in length, followed by an asterisk and the sub-merchant name. Example: PayFacs*SubMerchant

For Visa Marketplaces

Either : Includes the marketplace name, in full or in abbreviated form, followed by an asterisk and the retailer name. Example: Marketplace*Retailer

OR : Includes the marketplace name only

Note: Formats mentioned above are in the RS2Host specification format. RS2 handles the internal conversion to ensure compliance with the card scheme format depending on the card organization applicable for the transaction.

subMerchantCity
string (13)

Indicates the city location of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

subMerchantCountry
string (3)

Indicates the country code, using ISO-3 letter format, of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

paymentFacilitatorId
string (11)

This attribute contains the Payment Facilitator ID/Marketplace ID assigned by the card scheme.

Note 1: As of October 2020 Marketplace is only supported by VISA.

independentSalesOrganisationId
string (11)

This attribute contains the Independent Sales Organization ID assigned by the card scheme.

subMerchantId
string (15)

This attribute contains the Merchant ID of the sub-merchant.

Note: This is also referred to as Sponsored Merchant ID.

subMerchantStreet
string (48)

This attribute contains the card acceptor street for the sub-merchant or Amex OptBlue participant.

subMerchantPostCode
string (10)

This attribute indicates the geographic code of the sub-merchant’s location.

When it is present in a Brazilian Visa transaction, this subfield contains the 8-character numeric postal code.

subMerchantPanEntry
string (1)

The terminal entry capability for sub-merchant terminal:

  • 0 unknown
  • 1 manual, no terminal

Refer to API Data Mapping documentation for list of terminal entry capability available for the institution.

subMerchantTaxId
string (15)

Sub-merchant Tax ID.

This field can also be used for the Brazil sub-merchant tax ID to be sent for Brazil Visa and ELO transactions.

subMerchantVatCategory
string (2)

This attribute contains the Argentina sub-merchant tax category id to be sent for Argentina Mastercard Domestic transactions. Valid values are:

  • 01 Registered Taxpayer
  • 02 Subject not Categorized
  • 03 Exempt
  • 08 Single Taxpayer
  • 09 Not Registered Taxpayer (Re-categorized Form 560/F AFIP) Non-Registered Taxpayer (Recategorized Form 560/F AFIP))
foreignRetailerIndicator
string (1)

Only applicable in case of a Visa Marketplace transaction:

  • Not included if retailer is in the same country as the acquirer
  • F’ In case the the retailer is located in a different country
state
string (3)

State of the sub-merchant. Used by MasterCard/AMEX/Discover only.

email
string (40)

Email of sub-merchant or Amex OptBlue Participant.

telephoneNumber
string (20)

Sub-merchant telephone number available for Mastercard / AMEX / Discover. Required by Mastercard in case URL is not available.

This attribute can also be used for Amex: OptBlue Participants and Bill Payment Providers as well.

Amex Supports up to 20 characters. MasterCard/Visa/Discover support up to 16 characters.

For a limited time period, this attribute can be used to supply the merchant\’s service telephone number in case of a MasterCard merchant not having the service telephone number stored in BankWORKS.

url
string (97)

Represents the sub-merchant website address.

Required by MasterCard for eCommerce transactions and in case a service telephone number (paymentFacilitator.telephoneNumber) is not available.

For a limited time period, this attribute can be used to supply the merchant’s URL in case of a MasterCard merchant not having the URL stored in BankWORKS.

subMerchantMcc
string (4)

To be provided on in case of a transaction initiated by a payment facilitator.

Refer to API Data Mapping documentation for list of MCCs available for the institution.

serviceLocation
object

The service location object is used to pass service location data related to the transaction as required by MasterCard.

Service location data is applicable for:

  • E-commerce: electric vehicle charging or fuel purchase
  • E-commerce: In-store pickup
  • Ride-hailing (eCommerce app payment)
  • Onboard transit (eCommerce app payment)
Name Description
cityName
string (13)

Service location city name.

state
string (3)

Service location state (sub-country) code.

country
string (3)

Service location country code (ISO-3 letter format)

postCode
string (10)

Service location post code.

Relationships
merchant
required

Mandatory relationship linking the pre-authorization request with the merchant.

Response

1. First Pre-Auth - Status Code 201 : HTTP 201 (Created)

1. First Pre-Auth - Status Code 202 : HTTP 202 (Accepted)

Response body will contain the created JSON:API resource of type authorisations .

2. Subsequent Incremental Auth

This use case covers any additional pre-authorization that may follow the intital pre-authorisations.  Subsequent authorisations have some varying attribute values.

In case of an HTTP status code 202 response indicating an issue communicating with the card network, the client should reverse the auth, please refer to the Reversals use-case for more information on reversals. Following a successful reversal a new pre-auth should be sent.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/authorisations

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type authorisations with the following attributes:

Name Description
cardNumber
string (19)
required

The cardholder’s card number. The value is returned in masked format.

To filter with this field, you will need to use the LIKE operator with wildcard(%25) and the last four digits of the card, together with a filter for other fields if needed.

  • filter[cardNumber][LIKE]=%258906
expiryDate
number (4)
required

The expiry date of the card in YYMM format.

messageTypeId
string (4)
required

‘0100’ must be provided to indicate a first pre-authorization.

transactionDate
date-time
required

Local date and time of the transaction originating at the point of service in ISO 8601 format.

transmissionDate
date-time

The transaction date and time at point of service in UTC 0, expressed in ISO 8601 format.

amount
object
required

The requested amount of the pre-auth incremental.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeAmount
object

The feeAmount can be used to add a surcharge fee to the transaction. The value accepts both a negative and positive value. A negative value indicates a credit to the cardholder. A positive value indicates a debit to the cardholder. To determine the authorisation amount the feeAmount can be added or subtracted to the amount value depending on the feeAmount sign.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

transactionType
string (2)
required

‘00’ must be provided to indicate a purchase transaction.

authIndicator
string (2)
required

Must be passed:

  • A = Pre-authorisation Incremental (Used for subsequent incremental transactions after a pre-auth was made)
additionalAuthIndicator
string (1)

This indicator can be used as an additional flag for specific authorization requests.

An example would be for merchants with terminals accepting partial authorizations, request would need to be provided with either 1 or 3 value.

Possible values:

  • 0 = Not applicable: Indicators not set in current transaction or field is not applicable

  • 1 = Terminal accepts partial authorization responses

  • 2 = Estimated amount and terminal does not support partial authorization responses

  • 3 = Estimated amount and terminal accepts partial authorization responses

networkTraceId
string (15)

This field contains the trace id / transaction identifier used by the card schemes to link subsequent transactions.

In the subsequent requests, RS2 should receive the original trace ID / transaction identifier returned in the response from the first authorization in a recurring series. This includes subsequent aggregate or incremental pre-authorizations, completions, recurring transactions and reversals.

In responses, RS2 will return the trace ID for each transaction as returned by the schemes, which may be different than the one sent in the request. API users are to store the networkTraceId value for subsequent transaction use.

Note: Currently, this field is returned for MasterCard, Visa, Discover, Diners and ELO transactions only

paymentGatewayId
string (11)

Represents the MasterCard merchant payment gateway identifier registered with the card scheme. Should contain numeric value only up to 11 digits.

stan
string (6)

The System Trace Audit Number. A six digit code that must be unique for an online request. Used in conjunction with the transmissionDate and messageType ID to uniquely identify an authorisation.

externalReference
string (36)

A client-specific external identifier value. The value of the externalReference must be unique for each transaction.

eCom
object
required

Object containing eCommerce related attributes, for eCommerce transactions.

Name Description
cvc2
string (4)
required

The 3 or 4 digits card cvc2 security attribute.

3dSecure
string (42)

Multi-purpose data transport used to communicate cardholder authentication data between the cardholder, merchant, acquirer and issuer for e-commerce transactions.

Its presence is indicated by the securityLevelIndicator attribute.

The data to be passed must be as specified in the Card Organisation online specification manual. For further details please refer to:

  • Diners/Discover/ELO DE 122 AN(…42)

  • MCR DE 48.43 ANS(…32)

  • VISA DE 126.9 H(40)

  • AMEX DE 61.5 H(40)

xid
string (42)

The Universal Cardholder Authentication Field value used for 3D secure transport. Applicable for VISA authorisations only.

securityLevelIndicator
string (3)
required

Indicates if the eCommerce channel is encrypted and if UCAF is supported or not by the merchant. The below positions 1, 2 and 3 indicate the options of the secure level indicator.

  • 21x - Channel Encrypted
  • 22x - Encrypted MasterPass
  • 91x - No Security Protocol (9xx - No security protocol cannot be used for MasterCard transactions)
  • xx0 - UCAF not supported
  • xx1 - UCAF supported
  • xx2 - UCAF present
  • xx4 - UCAF present with Insights AAV for MasterCard Identity Check
psd2ExemptionFlag
string (2)

Valid values:

  • 01 = Merchant Initiated Transaction

  • 02 = Transaction passed a risk analysis

  • 03 = Low Value Payment

  • 04 = SCA delegated

  • 05 = Secure Corporate Payment

  • 06 = Trusted Merchant

  • 07 = Authentication Outage Exception (Currently Mastercard only supported)

3dSecVersion
string (1)

The 3DSecure Version indicates the program protocol being used. The character is the 3D Secure version number. Applicable for MasterCard 3D secure transactions only.

  • 1 = EMV 3-D Secure Version 2.1

  • 2 = EMV 3-D Secure Version 2.2

  • 3 = EMV 3-D Secure Version 2.3

  • 4 = EMV 3-D Secure Version 2.4

  • 5 = EMV 3-D Secure Version 2.5

  • 6 = EMV 3-D Secure Version 2.6

  • 7 = EMV 3-D Secure Version 2.7

  • 8 = EMV 3-D Secure Version 2.8

  • 9 = EMV 3-D Secure Version 2.9

3dSec2DirSerTranId
string (36)

MasterCard only. Applicable for 3D Secure Version 2.0 onwards. Indicates the Directory Server Transaction ID provided by the authentication server. For example:

f38e6948-5388-41a6-bca4-b49723c19437.

pos
object
required

Object containing point of service specific attributes.

Name Description
terminalId
string (8)

An 8-character value identifying the transaction point of service. This value may be required in certain scenarios for transactions to be cleared. If not provided the value defaults to a ‘0AUTHAPI’ value.

panEntry
string (3)
required

PAN entry mode

  • 010 - Manual
posCondition
string (2)
required

2-digit ISO value that is used to identify the point of service event of the authorization.

  • 59 - eCommerce
  • 07 - Phone/ARU order
  • 08 - Mail order
avs
object

Object containing Address Verification System attributes

Name Description
postCode
string (9)

Cardholder postcode, for AVS verification, up to 9 characters

streetAddress
string (20)

Cardholder street information for AVS verficiation, up to 20 characters. Alphabetic numbers should be sent in a numeric format. For example, ‘1 second avenue’ should be sent as ‘1 2nd avenue’

response
string (1)

AVS Response.

Address Verification Service Response Visa:

  • A - Street address: MATCH

  • B - N/A

  • M - Post code: MATCH, Street address: MATCH

  • N - Post code MISTMATCH, Street address MISMATCH

  • P - N/A

  • R - Post code: RETRY, Street address: SYSTEM UNAVAILABLE

  • U - Post code: NOT VERIFIED, Street address: NOT VERIFIED

  • Z - Post code: MATCH

Address Verification Service Response Other Card Schemes:

  • A - Post code MISMATCH, Street address MATCH
  • B - Post code NOT VERIFIED, Street address MATCH
  • M - Post code MATCH, Street address MATCH
  • N - Post code MISTMATCH, Street address MISMATCH
  • P - Post code MATCH, Street adress NOT VERIFIED
  • R - RETRY;SYSTEM, Street address UNAVAILABLE
  • U - Post code NOT VERIFIED, Street address NOT VERIFIED
  • Z - Post code MATCH, street address MISMATCH
paymentFacilitator
object

Object containing attributes to support payment facilitator or marketplace requests.

Name Description
cardAcceptorName
string (25)

Only to be provided in case of transactions initiated by payment facilitator or marketplace. Do not send in case of regular merchants.

For Payment Facilitators

Includes the payment facilitator name, in full or in abbreviated form, must be three, seven, or twelve characters in length, followed by an asterisk and the sub-merchant name. Example: PayFacs*SubMerchant

For Visa Marketplaces

Either : Includes the marketplace name, in full or in abbreviated form, followed by an asterisk and the retailer name. Example: Marketplace*Retailer

OR : Includes the marketplace name only

Note: Formats mentioned above are in the RS2Host specification format. RS2 handles the internal conversion to ensure compliance with the card scheme format depending on the card organization applicable for the transaction.

subMerchantCity
string (13)

Indicates the city location of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

subMerchantCountry
string (3)

Indicates the country code, using ISO-3 letter format, of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

paymentFacilitatorId
string (11)

This attribute contains the Payment Facilitator ID/Marketplace ID assigned by the card scheme.

Note 1: As of October 2020 Marketplace is only supported by VISA.

independentSalesOrganisationId
string (11)

This attribute contains the Independent Sales Organization ID assigned by the card scheme.

subMerchantId
string (15)

This attribute contains the Merchant ID of the sub-merchant.

Note: This is also referred to as Sponsored Merchant ID.

subMerchantStreet
string (48)

This attribute contains the card acceptor street for the sub-merchant or Amex OptBlue participant.

subMerchantPostCode
string (10)

This attribute indicates the geographic code of the sub-merchant’s location.

When it is present in a Brazilian Visa transaction, this subfield contains the 8-character numeric postal code.

subMerchantPanEntry
string (1)

The terminal entry capability for sub-merchant terminal:

  • 0 unknown
  • 1 manual, no terminal

Refer to API Data Mapping documentation for list of terminal entry capability available for the institution.

subMerchantTaxId
string (15)

Sub-merchant Tax ID.

This field can also be used for the Brazil sub-merchant tax ID to be sent for Brazil Visa and ELO transactions.

subMerchantVatCategory
string (2)

This attribute contains the Argentina sub-merchant tax category id to be sent for Argentina Mastercard Domestic transactions. Valid values are:

  • 01 Registered Taxpayer
  • 02 Subject not Categorized
  • 03 Exempt
  • 08 Single Taxpayer
  • 09 Not Registered Taxpayer (Re-categorized Form 560/F AFIP) Non-Registered Taxpayer (Recategorized Form 560/F AFIP))
foreignRetailerIndicator
string (1)

Only applicable in case of a Visa Marketplace transaction:

  • Not included if retailer is in the same country as the acquirer
  • F’ In case the the retailer is located in a different country
state
string (3)

State of the sub-merchant. Used by MasterCard/AMEX/Discover only.

email
string (40)

Email of sub-merchant or Amex OptBlue Participant.

telephoneNumber
string (20)

Sub-merchant telephone number available for Mastercard / AMEX / Discover. Required by Mastercard in case URL is not available.

This attribute can also be used for Amex: OptBlue Participants and Bill Payment Providers as well.

Amex Supports up to 20 characters. MasterCard/Visa/Discover support up to 16 characters.

For a limited time period, this attribute can be used to supply the merchant\’s service telephone number in case of a MasterCard merchant not having the service telephone number stored in BankWORKS.

url
string (97)

Represents the sub-merchant website address.

Required by MasterCard for eCommerce transactions and in case a service telephone number (paymentFacilitator.telephoneNumber) is not available.

For a limited time period, this attribute can be used to supply the merchant’s URL in case of a MasterCard merchant not having the URL stored in BankWORKS.

subMerchantMcc
string (4)

To be provided on in case of a transaction initiated by a payment facilitator.

Refer to API Data Mapping documentation for list of MCCs available for the institution.

serviceLocation
object

The service location object is used to pass service location data related to the transaction as required by MasterCard.

Service location data is applicable for:

  • E-commerce: electric vehicle charging or fuel purchase
  • E-commerce: In-store pickup
  • Ride-hailing (eCommerce app payment)
  • Onboard transit (eCommerce app payment)
Name Description
cityName
string (13)

Service location city name.

state
string (3)

Service location state (sub-country) code.

country
string (3)

Service location country code (ISO-3 letter format)

postCode
string (10)

Service location post code.

additionalAmounts
object
required

This object can be used in the request message of a pre-Authorization Incremental transaction to fill the total accumulated amount of the pre-authorization. When having an Incremental transaction this field is mandatory (with amountType value ‘56’) for Discover and Diners, however, it is optional for other card schemes.

This object is also used in the request message of MIT such as Recurring, Installment, Delayed Card Sale, Re-submission of Card Sale, No-Show Charge, and Unscheduled Payment to fill the amount requested in the original transaction. When having any of the mentioned MIT, this field is mandatory (with amountType value ‘57’) for Discover and Diners. However, it is optional for other card schemes.

Name Description
amountType
string (2)
required

Indicates the Valid Values:

  • 44 = Tip Amount

  • 56 = Total Accumulated Amount

  • 57 = Original MIT Amount

actualAmount
object
required

Represents the amount value of the amountType defined. Note that all the actual amount currencies MUST match. The maximum allowed length (including decimal points) is 12.

Relationships
merchant
required

Mandatory relationship linking the pre-authorization incremental request with the merchant.

originalAuth
required

Mandatory relationship to the original pre-authorization.

Response

2. Subsequent Incremental Auth - Status Code 201 : HTTP 201 (Created)

2. Subsequent Incremental Auth - Status Code 202 : HTTP 202 (Accepted)

Response body will contain the created JSON:API resource of type authorisations .

3. Completion

This is the final authorization that would need to be sent to close off a chain of incremental pre-authorizations.

A pre-authorization completion matching a declined pre-authorization will be declined.  The completion will also be declined if the requested amount value is greater than the pre-authorization requested amount.

In case of an HTTP status code 202 response indicating an issue communicating with the card network, the client can safely re-send the authorization supplying an updated stan and a transmissionDate attribute values. Do not reverse the completion authorization.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/authorisations

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type authorisations with the following attributes:

Name Description
messageTypeId
string (4)
required

‘0220’ must be provided to indicate a completion advice.

transactionDate
date-time
required

Local date and time of the transaction originating at the point of service in ISO 8601 format.

transmissionDate
date-time

The transaction date and time at point of service in UTC 0, expressed in ISO 8601 format.

amount
object
required

The final full amount needs to be sent with the completion advice request.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeAmount
object

The feeAmount can be used to add a surcharge fee to the transaction. The value accepts both a negative and positive value. A negative value indicates a credit to the cardholder. A positive value indicates a debit to the cardholder. To determine the authorisation amount the feeAmount can be added or subtracted to the amount value depending on the feeAmount sign.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

transactionType
string (2)
required

‘00’ must be provided to indicate a purchase transaction.

authIndicator
string (2)
required

Must be passed:

  • T = Totality, (used for Pre-Authorization Completion; Final Authorization Indicator in a Pre-Authorization series)
networkTraceId
string (15)

This field contains the trace id / transaction identifier used by the card schemes to link subsequent transactions.

In the subsequent requests, RS2 should receive the original trace ID / transaction identifier returned in the response from the first authorization in a recurring series. This includes subsequent aggregate or incremental pre-authorizations, completions, recurring transactions and reversals.

In responses, RS2 will return the trace ID for each transaction as returned by the schemes, which may be different than the one sent in the request. API users are to store the networkTraceId value for subsequent transaction use.

Note: Currently, this field is returned for MasterCard, Visa, Discover, Diners and ELO transactions only

paymentGatewayId
string (11)

Represents the MasterCard merchant payment gateway identifier registered with the card scheme. Should contain numeric value only up to 11 digits.

reasonCode
string (2)
required

‘00’ must be provided to indicate a request for advice approval.

stan
string (6)

The System Trace Audit Number. A six digit code that must be unique for an online request. Used in conjunction with the transmissionDate and messageType ID to uniquely identify an authorisation.

externalReference
string (36)

A client-specific external identifier value. The value of the externalReference must be unique for each transaction.

eCom
object
required

Object containing eCommerce related attributes, for eCommerce transactions.

Name Description
securityLevelIndicator
string (3)
required

Indicates if the eCommerce channel is encrypted and if UCAF is supported or not by the merchant. The below positions 1, 2 and 3 indicate the options of the secure level indicator.

  • 21x - Channel Encrypted
  • 22x - Encrypted MasterPass
  • 91x - No Security Protocol (9xx - No security protocol cannot be used for MasterCard transactions)
  • xx0 - UCAF not supported
  • xx1 - UCAF supported
  • xx2 - UCAF present
  • xx4 - UCAF present with Insights AAV for MasterCard Identity Check
pos
object
required

Object containing point of service specific attributes.

Name Description
terminalId
string (8)

An 8-character value identifying the transaction point of service. This value may be required in certain scenarios for transactions to be cleared. If not provided the value defaults to a ‘0AUTHAPI’ value.

panEntry
string (3)
required

PAN entry mode

  • 010 - Manual
posCondition
string (2)
required

2-digit ISO value that is used to identify the point of service event of the authorization.

  • 59 - eCommerce
  • 07 - Phone/ARU order
  • 08 - Mail order
Relationships
merchant
required

Mandatory relationship linking the pre-authorization incremental request with the merchant.

originalAuth
required

Mandatory relationship to the original pre-authorization.

Response

3. Completion - Status Code 201 : HTTP 201 (Created)

3. Completion - Status Code 202 : HTTP 202 (Accepted)

Response body will contain the created JSON:API resource of type authorisations .

Recurring & COF Auth

Credentials-on-file use cases covering cardholder (CIT) and merchant (MIT) initiated transactions.  The use cases in this section cover the main properties of a credentials-on-file transaction from a generic point of view.  For specific use cases such as an authorisation and capture flow, refer to the respective use case section in addition to the below use cases.

1. Initial Transaction

The initial cardholder initiated transaction.  This is similar to an authorisation or financial authorsisation (refer auth & capture, pre-auth incremental and purchase use).  The main variation is the authIndicator value - see note on authIndicator below.

In case of an HTTP status code 202 response indicating an issue communicating with the card network, the client should reverse the auth, please refer to the Reversals use-case for more information on reversals. Following a successful reversal a new pre-auth should be sent.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/authorisations

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type authorisations with the following attributes:

Name Description
cardNumber
string (19)
required

The cardholder’s card number. The value is returned in masked format.

To filter with this field, you will need to use the LIKE operator with wildcard(%25) and the last four digits of the card, together with a filter for other fields if needed.

  • filter[cardNumber][LIKE]=%258906
expiryDate
number (4)
required

The expiry date of the card in YYMM format.

messageTypeId
string (4)
required

0100 - Authorisation or Pre-Authorisation request. This will require either capture or completion request depending on the case. Please refer to the Auth and Capture or Incremental Pre-Auths use cases for additional information.

0200 - Financial Authorisation. This can be sent for a financial auth message such as a purchase or even a refund. Also refer to Purchases and Refunds use cases for more information.

transactionDate
date-time
required

Local date and time of the transaction originating at the point of service in ISO 8601 format.

transmissionDate
date-time

The transaction date and time at point of service in UTC 0, expressed in ISO 8601 format.

amount
object
required

Requested amount for this authorization. If the authorization will include a surcharge amount (provided in feeAmount), the amount attribute needs to include the full authorization amount, requested amount + the surcharge amount.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeAmount
object

The feeAmount can be used to add a surcharge fee to the transaction. The value accepts both a negative and positive value. A negative value indicates a credit to the cardholder. A positive value indicates a debit to the cardholder. To determine the authorisation amount the feeAmount can be added or subtracted to the amount value depending on the feeAmount sign.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

transactionType
string (2)
required

A 2-digit code indicating the processing code of the transaction type.

  • 00 - Purchase

  • 20 - Refund

authIndicator
string (2)
required

Must be passed to indicate either:

  • C = Credentials on file

  • R = Recurring Transaction

  • CP = Pre-authorisation with Credential on File (Used for the first pre-auth transaction in which credentials will be stored). Respective RS2 Project Managers need to be contacted in order to make use of such value.

transactionInitiatorId
string (4)

Applicable for MasterCard recurring transactions. A four character value indicating the cardholder/merchant initiated transaction category and and indicator subcategory.
For example, C102 to indicate Cardholder Initiated, Standing Order (variable amount and fixed frequency).

List of possible values:

C1 - Cardholder Initiated

  • 01 - Credential-on-file (ad-hoc): Consumer agrees to store the credential on file with the merchant for future cardholder-initiated and/or merchant-initiated transactions that may occur from time to time, or consumer chooses to use a credential previously placed on file with the merchant when making a purchase.

  • 02 - Standing Order (variable amount and fixed frequency): Consumer agrees to store the credential-on-file and initiates a first transaction in a series intended to be for a variable amount and a fixed frequency.

  • 03 - Subscription (fixed amount and frequency): Consumer agrees to store the credential-on-file and initiates a first transaction in a series intended to be for a fixed amount and a fixed frequency.

M1 - Merchant Initiated Recurring Payment

  • 01 - Unscheduled Credential on File: A transaction made pursuant to an agreement between a cardholder and a merchant, whereby the cardholder authorizes the merchant to store and use the cardholder’s account data to initiate one or more future transactions. The transaction can be for a fixed or variable amount but does not occur at regular intervals on a scheduled date.

  • 02 - Standing Order (variable amount fixed frequency): A transaction made pursuant to an agreement between a cardholder and a merchant, whereby the cardholder authorizes the merchant to store and use the cardholder’s account data for a transaction that must occur at regularly scheduled intervals for a variable amount, as specified in the agreement.

  • 03 - Subscription (fixed amount and frequency): A transaction made pursuant to an agreement between a cardholder and a merchant, whereby the cardholder authorizes the merchant to store and use the cardholder’s account data for a transaction that must occur at regularly scheduled intervals for a fixed amount, as specified in the agreement. The subscription agreement may include an allowance for introductory pricing or for price changes to occur from time to time.

M2 - Merchant initiated Industry practice

  • 07 - No Show Charge: A penalty charged according to the merchant’s cancellation policy.

  • 08 - Resubmission: Previous attempt to obtain authorization for a transaction has been declined but the issuer’s response does not prohibit the merchant from trying again later.

paymentGatewayId
string (11)

Represents the MasterCard merchant payment gateway identifier registered with the card scheme. Should contain numeric value only up to 11 digits.

stan
string (6)

The System Trace Audit Number. A six digit code that must be unique for an online request. Used in conjunction with the transmissionDate and messageType ID to uniquely identify an authorisation.

externalReference
string (36)

A client-specific external identifier value. The value of the externalReference must be unique for each transaction.

hasAddendum
boolean

This flag should only be sent with a capture advice request (0220) whenever addendum data is sent via an 0340 message type. An example would be corporate cards L2/L3 data.

eCom
object
required

Object containing eCommerce related attributes, for eCommerce transactions.

Name Description
cvc2
string (4)
required

The 3 or 4 digits card cvc2 security attribute.

3dSecure
string (42)

Multi-purpose data transport used to communicate cardholder authentication data between the cardholder, merchant, acquirer and issuer for e-commerce transactions.

Its presence is indicated by the securityLevelIndicator attribute.

The data to be passed must be as specified in the Card Organisation online specification manual. For further details please refer to:

  • Diners/Discover/ELO DE 122 AN(…42)

  • MCR DE 48.43 ANS(…32)

  • VISA DE 126.9 H(40)

  • AMEX DE 61.5 H(40)

xid
string (42)

The Universal Cardholder Authentication Field value used for 3D secure transport. Applicable for VISA authorisations only.

securityLevelIndicator
string (3)
required

Indicates if the eCommerce channel is encrypted and if UCAF is supported or not by the merchant. The below positions 1, 2 and 3 indicate the options of the secure level indicator.

  • 21x - Channel Encrypted
  • 22x - Encrypted MasterPass
  • 91x - No Security Protocol (9xx - No security protocol cannot be used for MasterCard transactions)
  • xx0 - UCAF not supported
  • xx1 - UCAF supported
  • xx2 - UCAF present
  • xx4 - UCAF present with Insights AAV for MasterCard Identity Check
psd2ExemptionFlag
string (2)

Valid values:

  • 01 = Merchant Initiated Transaction

  • 02 = Transaction passed a risk analysis

  • 03 = Low Value Payment

  • 04 = SCA delegated

  • 05 = Secure Corporate Payment

  • 06 = Trusted Merchant

  • 07 = Authentication Outage Exception (Currently Mastercard only supported)

3dSecVersion
string (1)

The 3DSecure Version indicates the program protocol being used. The character is the 3D Secure version number. Applicable for MasterCard 3D secure transactions only.

  • 1 = EMV 3-D Secure Version 2.1

  • 2 = EMV 3-D Secure Version 2.2

  • 3 = EMV 3-D Secure Version 2.3

  • 4 = EMV 3-D Secure Version 2.4

  • 5 = EMV 3-D Secure Version 2.5

  • 6 = EMV 3-D Secure Version 2.6

  • 7 = EMV 3-D Secure Version 2.7

  • 8 = EMV 3-D Secure Version 2.8

  • 9 = EMV 3-D Secure Version 2.9

3dSec2DirSerTranId
string (36)

MasterCard only. Applicable for 3D Secure Version 2.0 onwards. Indicates the Directory Server Transaction ID provided by the authentication server. For example:

f38e6948-5388-41a6-bca4-b49723c19437.

pos
object
required

Object containing point of service specific attributes.

Name Description
terminalId
string (8)

An 8-character value identifying the transaction point of service. This value may be required in certain scenarios for transactions to be cleared. If not provided the value defaults to a ‘0AUTHAPI’ value.

panEntry
string (3)
required

PAN entry mode

  • 010 - Manual
posCondition
string (2)
required

2-digit ISO value that is used to identify the point of service event of the authorization.

  • 59 - eCommerce
  • 07 - Phone/ARU order
  • 08 - Mail order
avs
object

Object containing Address Verification System attributes

Name Description
postCode
string (9)

Cardholder postcode, for AVS verification, up to 9 characters

streetAddress
string (20)

Cardholder street information for AVS verficiation, up to 20 characters. Alphabetic numbers should be sent in a numeric format. For example, ‘1 second avenue’ should be sent as ‘1 2nd avenue’

response
string (1)

AVS Response.

Address Verification Service Response Visa:

  • A - Street address: MATCH

  • B - N/A

  • M - Post code: MATCH, Street address: MATCH

  • N - Post code MISTMATCH, Street address MISMATCH

  • P - N/A

  • R - Post code: RETRY, Street address: SYSTEM UNAVAILABLE

  • U - Post code: NOT VERIFIED, Street address: NOT VERIFIED

  • Z - Post code: MATCH

Address Verification Service Response Other Card Schemes:

  • A - Post code MISMATCH, Street address MATCH
  • B - Post code NOT VERIFIED, Street address MATCH
  • M - Post code MATCH, Street address MATCH
  • N - Post code MISTMATCH, Street address MISMATCH
  • P - Post code MATCH, Street adress NOT VERIFIED
  • R - RETRY;SYSTEM, Street address UNAVAILABLE
  • U - Post code NOT VERIFIED, Street address NOT VERIFIED
  • Z - Post code MATCH, street address MISMATCH
india
object

Object containing attributes that must be provided for recurring payments initiated on India issued cards (VISA only). This is only used for POST request and will not be returned to the response.

Name Description
recurringPaymentType
string (1)

Indicates the type of recurring payment.

Valid values:

  • 1 - Registration / First transaction

  • 2 - Subsequent transaction

  • 3 - Modification

  • 4 - Cancellation (only applicable for messageType 0100 authorization request)

paymentAmountIndicator
string (1)

The indicator per recurring payment transaction. Valid values:

  • 1 - Fixed amount recurring payment

  • 2 - Recurring payment with maximum amount

recurringPaymentNumber
string (2)

Contains a value ranging from 01–99 that helps the issuer to identify total number of recurring debits for that cardholder has agreed with merchant. Value of 99 means that recurring payments are authorized until canceled or that the Number of Recurring Payments is not defined.

recurringPaymentFrequency
string (2)

Indicates the frequency of payment. Valid values are:

  • 01 - Daily,

  • 02 - Twice weekly,

  • 03 - Weekly,

  • 04 - Ten days,

  • 05 - Fortnightly,

  • 06 - Monthly,

  • 07 - Every 2 months,

  • 08 - Trimester,

  • 09 - Quarterly,

  • 10 - Twice yearly,

  • 11 - Annually,

  • 12 - Unscheduled

registrationReference
string (35)

A unique reference number for the recurring payment transaction. Alphanumeric 35 value. The reference number needs to be provided by the merchant, the value is provided by the SI (Standing Instruction) provider that the merchant works with.

maxRecurringPaymentAmount
object

The maximum recurring payment account agreed to by the cardholder.

Object containing two additional attributes:

  • value The quantative decimal monetary amount (eg. 2.13)

  • currency The ISO 4217 currency code (eg. ‘EUR’)

validationIndicator
string (1)

This tag will contain a value that indicates whether or not the recurring payment transaction has been validated offline during registration.

  • 0 - Not validated

  • 1 - Validated

paymentFacilitator
object

Object containing attributes to support payment facilitator or marketplace requests.

Name Description
cardAcceptorName
string (25)

Only to be provided in case of transactions initiated by payment facilitator or marketplace. Do not send in case of regular merchants.

For Payment Facilitators

Includes the payment facilitator name, in full or in abbreviated form, must be three, seven, or twelve characters in length, followed by an asterisk and the sub-merchant name. Example: PayFacs*SubMerchant

For Visa Marketplaces

Either : Includes the marketplace name, in full or in abbreviated form, followed by an asterisk and the retailer name. Example: Marketplace*Retailer

OR : Includes the marketplace name only

Note: Formats mentioned above are in the RS2Host specification format. RS2 handles the internal conversion to ensure compliance with the card scheme format depending on the card organization applicable for the transaction.

subMerchantCity
string (13)

Indicates the city location of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

subMerchantCountry
string (3)

Indicates the country code, using ISO-3 letter format, of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

paymentFacilitatorId
string (11)

This attribute contains the Payment Facilitator ID/Marketplace ID assigned by the card scheme.

Note 1: As of October 2020 Marketplace is only supported by VISA.

independentSalesOrganisationId
string (11)

This attribute contains the Independent Sales Organization ID assigned by the card scheme.

subMerchantId
string (15)

This attribute contains the Merchant ID of the sub-merchant.

Note: This is also referred to as Sponsored Merchant ID.

subMerchantStreet
string (48)

This attribute contains the card acceptor street for the sub-merchant or Amex OptBlue participant.

subMerchantPostCode
string (10)

This attribute indicates the geographic code of the sub-merchant’s location.

When it is present in a Brazilian Visa transaction, this subfield contains the 8-character numeric postal code.

subMerchantPanEntry
string (1)

The terminal entry capability for sub-merchant terminal:

  • 0 unknown
  • 1 manual, no terminal

Refer to API Data Mapping documentation for list of terminal entry capability available for the institution.

subMerchantTaxId
string (15)

Sub-merchant Tax ID.

This field can also be used for the Brazil sub-merchant tax ID to be sent for Brazil Visa and ELO transactions.

subMerchantVatCategory
string (2)

This attribute contains the Argentina sub-merchant tax category id to be sent for Argentina Mastercard Domestic transactions. Valid values are:

  • 01 Registered Taxpayer
  • 02 Subject not Categorized
  • 03 Exempt
  • 08 Single Taxpayer
  • 09 Not Registered Taxpayer (Re-categorized Form 560/F AFIP) Non-Registered Taxpayer (Recategorized Form 560/F AFIP))
foreignRetailerIndicator
string (1)

Only applicable in case of a Visa Marketplace transaction:

  • Not included if retailer is in the same country as the acquirer
  • F’ In case the the retailer is located in a different country
state
string (3)

State of the sub-merchant. Used by MasterCard/AMEX/Discover only.

email
string (40)

Email of sub-merchant or Amex OptBlue Participant.

telephoneNumber
string (20)

Sub-merchant telephone number available for Mastercard / AMEX / Discover. Required by Mastercard in case URL is not available.

This attribute can also be used for Amex: OptBlue Participants and Bill Payment Providers as well.

Amex Supports up to 20 characters. MasterCard/Visa/Discover support up to 16 characters.

For a limited time period, this attribute can be used to supply the merchant\’s service telephone number in case of a MasterCard merchant not having the service telephone number stored in BankWORKS.

url
string (97)

Represents the sub-merchant website address.

Required by MasterCard for eCommerce transactions and in case a service telephone number (paymentFacilitator.telephoneNumber) is not available.

For a limited time period, this attribute can be used to supply the merchant’s URL in case of a MasterCard merchant not having the URL stored in BankWORKS.

subMerchantMcc
string (4)

To be provided on in case of a transaction initiated by a payment facilitator.

Refer to API Data Mapping documentation for list of MCCs available for the institution.

serviceLocation
object

The service location object is used to pass service location data related to the transaction as required by MasterCard.

Service location data is applicable for:

  • E-commerce: electric vehicle charging or fuel purchase
  • E-commerce: In-store pickup
  • Ride-hailing (eCommerce app payment)
  • Onboard transit (eCommerce app payment)
Name Description
cityName
string (13)

Service location city name.

state
string (3)

Service location state (sub-country) code.

country
string (3)

Service location country code (ISO-3 letter format)

postCode
string (10)

Service location post code.

Relationships
merchant
required

Mandatory relationship linking the pre-authorization request with the merchant.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type authorisations .

2.1 CIT Subsequent Transaction

Cardholder initiated subsequent use case example.  Auth indicator does not need to be provided unless the transaction is a pre-author subsequent incremental pre-auth (refer to Pre-auth incremental for more information).

In case of an HTTP status code 202 response indicating an issue communicating with the card network, the client should reverse the auth, please refer to the Reversals use-case for more information on reversals. Following a successful reversal a new pre-auth should be sent.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/authorisations

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type authorisations with the following attributes:

Name Description
cardNumber
string (19)
required

The cardholder’s card number. The value is returned in masked format.

To filter with this field, you will need to use the LIKE operator with wildcard(%25) and the last four digits of the card, together with a filter for other fields if needed.

  • filter[cardNumber][LIKE]=%258906
expiryDate
number (4)
required

The expiry date of the card in YYMM format.

messageTypeId
string (4)
required

0100 - Authorisation or Pre-Authorisation request. This will require either capture or completion request depending on the case. Please refer to the Auth and Capture or Incremental Pre-Auths use cases for additional information.

0200 - Financial Authorisation. This can be sent for a financial auth message such as a purchase or even a refund. Also refer to Purchases and Refunds use cases for more information.

transactionDate
date-time
required

Local date and time of the transaction originating at the point of service in ISO 8601 format.

transmissionDate
date-time

The transaction date and time at point of service in UTC 0, expressed in ISO 8601 format.

amount
object
required

The requested amount of the pre-auth incremental.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeAmount
object

The feeAmount can be used to add a surcharge fee to the transaction. The value accepts both a negative and positive value. A negative value indicates a credit to the cardholder. A positive value indicates a debit to the cardholder. To determine the authorisation amount the feeAmount can be added or subtracted to the amount value depending on the feeAmount sign.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

transactionType
string (2)
required

A 2-digit code indicating the processing code of the transaction type.

  • 00 - Purchase

  • 20 - Refund

authIndicator
string (2)

Must be passed to indicate either:

  • A = Pre-authorisation Incremental (Used for subsequent incremental transactions after a pre-auth was made)

  • P = Pre-authorisation

  • Or no value passed for the transaction is not part of a pre-authorisation chain

networkTraceId
string (15)

This field contains the trace id / transaction identifier used by the card schemes to link subsequent transactions.

In the subsequent requests, RS2 should receive the original trace ID / transaction identifier returned in the response from the first authorization in a recurring series. This includes subsequent aggregate or incremental pre-authorizations, completions, recurring transactions and reversals.

In responses, RS2 will return the trace ID for each transaction as returned by the schemes, which may be different than the one sent in the request. API users are to store the networkTraceId value for subsequent transaction use.

Note: Currently, this field is returned for MasterCard, Visa, Discover, Diners and ELO transactions only

transactionInitiatorId
string (4)

Applicable for MasterCard recurring transactions. A four character value indicating the cardholder/merchant initiated transaction category and and indicator subcategory.
For example, C102 to indicate Cardholder Initiated, Standing Order (variable amount and fixed frequency).

List of possible values:

C1 - Cardholder Initiated

  • 01 - Credential-on-file (ad-hoc): Consumer agrees to store the credential on file with the merchant for future cardholder-initiated and/or merchant-initiated transactions that may occur from time to time, or consumer chooses to use a credential previously placed on file with the merchant when making a purchase.

  • 02 - Standing Order (variable amount and fixed frequency): Consumer agrees to store the credential-on-file and initiates a first transaction in a series intended to be for a variable amount and a fixed frequency.

  • 03 - Subscription (fixed amount and frequency): Consumer agrees to store the credential-on-file and initiates a first transaction in a series intended to be for a fixed amount and a fixed frequency.

M1 - Merchant Initiated Recurring Payment

  • 01 - Unscheduled Credential on File: A transaction made pursuant to an agreement between a cardholder and a merchant, whereby the cardholder authorizes the merchant to store and use the cardholder’s account data to initiate one or more future transactions. The transaction can be for a fixed or variable amount but does not occur at regular intervals on a scheduled date.

  • 02 - Standing Order (variable amount fixed frequency): A transaction made pursuant to an agreement between a cardholder and a merchant, whereby the cardholder authorizes the merchant to store and use the cardholder’s account data for a transaction that must occur at regularly scheduled intervals for a variable amount, as specified in the agreement.

  • 03 - Subscription (fixed amount and frequency): A transaction made pursuant to an agreement between a cardholder and a merchant, whereby the cardholder authorizes the merchant to store and use the cardholder’s account data for a transaction that must occur at regularly scheduled intervals for a fixed amount, as specified in the agreement. The subscription agreement may include an allowance for introductory pricing or for price changes to occur from time to time.

M2 - Merchant initiated Industry practice

  • 07 - No Show Charge: A penalty charged according to the merchant’s cancellation policy.

  • 08 - Resubmission: Previous attempt to obtain authorization for a transaction has been declined but the issuer’s response does not prohibit the merchant from trying again later.

paymentGatewayId
string (11)

Represents the MasterCard merchant payment gateway identifier registered with the card scheme. Should contain numeric value only up to 11 digits.

stan
string (6)

The System Trace Audit Number. A six digit code that must be unique for an online request. Used in conjunction with the transmissionDate and messageType ID to uniquely identify an authorisation.

externalReference
string (36)

A client-specific external identifier value. The value of the externalReference must be unique for each transaction.

hasAddendum
boolean

This flag should only be sent with a capture advice request (0220) whenever addendum data is sent via an 0340 message type. An example would be corporate cards L2/L3 data.

eCom
object
required

Object containing eCommerce related attributes, for eCommerce transactions.

Name Description
cvc2
string (4)
required

The 3 or 4 digits card cvc2 security attribute.

3dSecure
string (42)

Multi-purpose data transport used to communicate cardholder authentication data between the cardholder, merchant, acquirer and issuer for e-commerce transactions.

Its presence is indicated by the securityLevelIndicator attribute.

The data to be passed must be as specified in the Card Organisation online specification manual. For further details please refer to:

  • Diners/Discover/ELO DE 122 AN(…42)

  • MCR DE 48.43 ANS(…32)

  • VISA DE 126.9 H(40)

  • AMEX DE 61.5 H(40)

xid
string (42)

The Universal Cardholder Authentication Field value used for 3D secure transport. Applicable for VISA authorisations only.

securityLevelIndicator
string (3)
required

Indicates if the eCommerce channel is encrypted and if UCAF is supported or not by the merchant. The below positions 1, 2 and 3 indicate the options of the secure level indicator.

  • 21x - Channel Encrypted
  • 22x - Encrypted MasterPass
  • 91x - No Security Protocol (9xx - No security protocol cannot be used for MasterCard transactions)
  • xx0 - UCAF not supported
  • xx1 - UCAF supported
  • xx2 - UCAF present
  • xx4 - UCAF present with Insights AAV for MasterCard Identity Check
psd2ExemptionFlag
string (2)

Valid values:

  • 01 = Merchant Initiated Transaction

  • 02 = Transaction passed a risk analysis

  • 03 = Low Value Payment

  • 04 = SCA delegated

  • 05 = Secure Corporate Payment

  • 06 = Trusted Merchant

  • 07 = Authentication Outage Exception (Currently Mastercard only supported)

3dSecVersion
string (1)

The 3DSecure Version indicates the program protocol being used. The character is the 3D Secure version number. Applicable for MasterCard 3D secure transactions only.

  • 1 = EMV 3-D Secure Version 2.1

  • 2 = EMV 3-D Secure Version 2.2

  • 3 = EMV 3-D Secure Version 2.3

  • 4 = EMV 3-D Secure Version 2.4

  • 5 = EMV 3-D Secure Version 2.5

  • 6 = EMV 3-D Secure Version 2.6

  • 7 = EMV 3-D Secure Version 2.7

  • 8 = EMV 3-D Secure Version 2.8

  • 9 = EMV 3-D Secure Version 2.9

3dSec2DirSerTranId
string (36)

MasterCard only. Applicable for 3D Secure Version 2.0 onwards. Indicates the Directory Server Transaction ID provided by the authentication server. For example:

f38e6948-5388-41a6-bca4-b49723c19437.

pos
object
required

Object containing point of service specific attributes.

Name Description
terminalId
string (8)

An 8-character value identifying the transaction point of service. This value may be required in certain scenarios for transactions to be cleared. If not provided the value defaults to a ‘0AUTHAPI’ value.

panEntry
string (3)
required

PAN entry mode

  • 100 - Credentials already stored on file (applicable to all card schemes)
posCondition
string (2)
required

2-digit ISO value that is used to identify the point of service event of the authorization.

  • 59 - eCommerce
  • 07 - Phone/ARU order
  • 08 - Mail order
avs
object

Object containing Address Verification System attributes

Name Description
postCode
string (9)

Cardholder postcode, for AVS verification, up to 9 characters

streetAddress
string (20)

Cardholder street information for AVS verficiation, up to 20 characters. Alphabetic numbers should be sent in a numeric format. For example, ‘1 second avenue’ should be sent as ‘1 2nd avenue’

response
string (1)

AVS Response.

Address Verification Service Response Visa:

  • A - Street address: MATCH

  • B - N/A

  • M - Post code: MATCH, Street address: MATCH

  • N - Post code MISTMATCH, Street address MISMATCH

  • P - N/A

  • R - Post code: RETRY, Street address: SYSTEM UNAVAILABLE

  • U - Post code: NOT VERIFIED, Street address: NOT VERIFIED

  • Z - Post code: MATCH

Address Verification Service Response Other Card Schemes:

  • A - Post code MISMATCH, Street address MATCH
  • B - Post code NOT VERIFIED, Street address MATCH
  • M - Post code MATCH, Street address MATCH
  • N - Post code MISTMATCH, Street address MISMATCH
  • P - Post code MATCH, Street adress NOT VERIFIED
  • R - RETRY;SYSTEM, Street address UNAVAILABLE
  • U - Post code NOT VERIFIED, Street address NOT VERIFIED
  • Z - Post code MATCH, street address MISMATCH
india
object

Object containing attributes that must be provided for recurring payments initiated on India issued cards (VISA only). This is only used for POST request and will not be returned to the response.

Name Description
recurringPaymentType
string (1)

Indicates the type of recurring payment.

Valid values:

  • 1 - Registration / First transaction

  • 2 - Subsequent transaction

  • 3 - Modification

  • 4 - Cancellation (only applicable for messageType 0100 authorization request)

paymentAmountIndicator
string (1)

The indicator per recurring payment transaction. Valid values:

  • 1 - Fixed amount recurring payment

  • 2 - Recurring payment with maximum amount

recurringPaymentNumber
string (2)

Contains a value ranging from 01–99 that helps the issuer to identify total number of recurring debits for that cardholder has agreed with merchant. Value of 99 means that recurring payments are authorized until canceled or that the Number of Recurring Payments is not defined.

recurringPaymentFrequency
string (2)

Indicates the frequency of payment. Valid values are:

  • 01 - Daily,

  • 02 - Twice weekly,

  • 03 - Weekly,

  • 04 - Ten days,

  • 05 - Fortnightly,

  • 06 - Monthly,

  • 07 - Every 2 months,

  • 08 - Trimester,

  • 09 - Quarterly,

  • 10 - Twice yearly,

  • 11 - Annually,

  • 12 - Unscheduled

registrationReference
string (35)

A unique reference number for the recurring payment transaction. Alphanumeric 35 value. The reference number needs to be provided by the merchant, the value is provided by the SI (Standing Instruction) provider that the merchant works with.

maxRecurringPaymentAmount
object

The maximum recurring payment account agreed to by the cardholder.

Object containing two additional attributes:

  • value The quantative decimal monetary amount (eg. 2.13)

  • currency The ISO 4217 currency code (eg. ‘EUR’)

validationIndicator
string (1)

This tag will contain a value that indicates whether or not the recurring payment transaction has been validated offline during registration.

  • 0 - Not validated

  • 1 - Validated

paymentFacilitator
object

Object containing attributes to support payment facilitator or marketplace requests.

Name Description
cardAcceptorName
string (25)

Only to be provided in case of transactions initiated by payment facilitator or marketplace. Do not send in case of regular merchants.

For Payment Facilitators

Includes the payment facilitator name, in full or in abbreviated form, must be three, seven, or twelve characters in length, followed by an asterisk and the sub-merchant name. Example: PayFacs*SubMerchant

For Visa Marketplaces

Either : Includes the marketplace name, in full or in abbreviated form, followed by an asterisk and the retailer name. Example: Marketplace*Retailer

OR : Includes the marketplace name only

Note: Formats mentioned above are in the RS2Host specification format. RS2 handles the internal conversion to ensure compliance with the card scheme format depending on the card organization applicable for the transaction.

subMerchantCity
string (13)

Indicates the city location of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

subMerchantCountry
string (3)

Indicates the country code, using ISO-3 letter format, of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

paymentFacilitatorId
string (11)

This attribute contains the Payment Facilitator ID/Marketplace ID assigned by the card scheme.

Note 1: As of October 2020 Marketplace is only supported by VISA.

independentSalesOrganisationId
string (11)

This attribute contains the Independent Sales Organization ID assigned by the card scheme.

subMerchantId
string (15)

This attribute contains the Merchant ID of the sub-merchant.

Note: This is also referred to as Sponsored Merchant ID.

subMerchantStreet
string (48)

This attribute contains the card acceptor street for the sub-merchant or Amex OptBlue participant.

subMerchantPostCode
string (10)

This attribute indicates the geographic code of the sub-merchant’s location.

When it is present in a Brazilian Visa transaction, this subfield contains the 8-character numeric postal code.

subMerchantPanEntry
string (1)

The terminal entry capability for sub-merchant terminal:

  • 0 unknown
  • 1 manual, no terminal

Refer to API Data Mapping documentation for list of terminal entry capability available for the institution.

subMerchantTaxId
string (15)

Sub-merchant Tax ID.

This field can also be used for the Brazil sub-merchant tax ID to be sent for Brazil Visa and ELO transactions.

subMerchantVatCategory
string (2)

This attribute contains the Argentina sub-merchant tax category id to be sent for Argentina Mastercard Domestic transactions. Valid values are:

  • 01 Registered Taxpayer
  • 02 Subject not Categorized
  • 03 Exempt
  • 08 Single Taxpayer
  • 09 Not Registered Taxpayer (Re-categorized Form 560/F AFIP) Non-Registered Taxpayer (Recategorized Form 560/F AFIP))
foreignRetailerIndicator
string (1)

Only applicable in case of a Visa Marketplace transaction:

  • Not included if retailer is in the same country as the acquirer
  • F’ In case the the retailer is located in a different country
state
string (3)

State of the sub-merchant. Used by MasterCard/AMEX/Discover only.

email
string (40)

Email of sub-merchant or Amex OptBlue Participant.

telephoneNumber
string (20)

Sub-merchant telephone number available for Mastercard / AMEX / Discover. Required by Mastercard in case URL is not available.

This attribute can also be used for Amex: OptBlue Participants and Bill Payment Providers as well.

Amex Supports up to 20 characters. MasterCard/Visa/Discover support up to 16 characters.

For a limited time period, this attribute can be used to supply the merchant\’s service telephone number in case of a MasterCard merchant not having the service telephone number stored in BankWORKS.

url
string (97)

Represents the sub-merchant website address.

Required by MasterCard for eCommerce transactions and in case a service telephone number (paymentFacilitator.telephoneNumber) is not available.

For a limited time period, this attribute can be used to supply the merchant’s URL in case of a MasterCard merchant not having the URL stored in BankWORKS.

subMerchantMcc
string (4)

To be provided on in case of a transaction initiated by a payment facilitator.

Refer to API Data Mapping documentation for list of MCCs available for the institution.

serviceLocation
object

The service location object is used to pass service location data related to the transaction as required by MasterCard.

Service location data is applicable for:

  • E-commerce: electric vehicle charging or fuel purchase
  • E-commerce: In-store pickup
  • Ride-hailing (eCommerce app payment)
  • Onboard transit (eCommerce app payment)
Name Description
cityName
string (13)

Service location city name.

state
string (3)

Service location state (sub-country) code.

country
string (3)

Service location country code (ISO-3 letter format)

postCode
string (10)

Service location post code.

additionalAmounts
object

This object can be used in the request message of a pre-Authorization Incremental transaction to fill the total accumulated amount of the pre-authorization. When having an Incremental transaction this field is mandatory (with amountType value ‘56’) for Discover and Diners, however, it is optional for other card schemes.

This object is also used in the request message of MIT such as Recurring, Installment, Delayed Card Sale, Re-submission of Card Sale, No-Show Charge, and Unscheduled Payment to fill the amount requested in the original transaction. When having any of the mentioned MIT, this field is mandatory (with amountType value ‘57’) for Discover and Diners. However, it is optional for other card schemes.

Name Description
amountType
string (2)

Indicates the Valid Values:

  • 44 = Tip Amount

  • 56 = Total Accumulated Amount

  • 57 = Original MIT Amount

actualAmount
object

Represents the amount value of the amountType defined. Note that all the actual amount currencies MUST match. The maximum allowed length (including decimal points) is 12.

Relationships
merchant
required

Mandatory relationship linking the pre-authorization incremental request with the merchant.

originalAuth

Optional relationship in case the authorisation is part of a pre-authorisation chain.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type authorisations .

2.2 MIT Subsequent Transaction

This use case covers  Merchant-Initiated-Transaction (MIT) sub-sequent transactions which are split into either:

  • Industry Practice (Incremental, Resubmission, Reauthorization, Delayed Charges, No Show)

  • Standing Instruction (Installments, Recurring, Unscheduled Credential on File)

In case of an HTTP status code 202 response indicating an issue communicating with the card network, the client should reverse the auth, please refer to the Reversals use-case for more information on reversals. Following a successful reversal a new pre-auth should be sent.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/authorisations

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type authorisations with the following attributes:

Name Description
cardNumber
string (19)
required

The cardholder’s card number. The value is returned in masked format.

To filter with this field, you will need to use the LIKE operator with wildcard(%25) and the last four digits of the card, together with a filter for other fields if needed.

  • filter[cardNumber][LIKE]=%258906
expiryDate
number (4)
required

The expiry date of the card in YYMM format.

messageTypeId
string (4)
required

0100 - Authorisation or Pre-Authorisation request. This will require either capture or completion request depending on the case. Please refer to the Auth and Capture or Incremental Pre-Auths use cases for additional information.

0200 - Financial Authorisation. This can be sent for a financial auth message such as a purchase or even a refund. Also refer to Purchases and Refunds use cases for more information.

transactionDate
date-time
required

Local date and time of the transaction originating at the point of service in ISO 8601 format.

transmissionDate
date-time

The transaction date and time at point of service in UTC 0, expressed in ISO 8601 format.

amount
object
required

The requested amount of the pre-auth incremental.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeAmount
object

The feeAmount can be used to add a surcharge fee to the transaction. The value accepts both a negative and positive value. A negative value indicates a credit to the cardholder. A positive value indicates a debit to the cardholder. To determine the authorisation amount the feeAmount can be added or subtracted to the amount value depending on the feeAmount sign.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

transactionType
string (2)
required

A 2-digit code indicating the processing code of the transaction type.

  • 00 - Purchase

  • 20 - Refund

authIndicator
string (2)
required

Industry Practice

Incremental Pre-Auths

  • A = Pre-authorisation Incremental (Used for subsequent incremental transactions after a pre-auth was made)

  • P = Pre-authorisation (Used for the first pre-auth transaction)

Discover Only

  • L = Delayed Card Sale

  • E = Re-submission of Card Sale

  • N = No-Show Charge

Standing Instruction (Depending on the reason for which the credentials are stored on file)

Incremental Pre-Auths

  • C = Credential on file

  • R = Recurring Transaction

  • A = Pre-authorisation Incremental (Used for subsequent incremental transactions after a pre-auth was made)

  • P = Pre-authorisation (Used for the first pre-auth transaction)

Discover Only

  • R = Recurring Transaction

  • U = Unscheduled Payment

networkTraceId
string (15)

This field contains the trace id / transaction identifier used by the card schemes to link subsequent transactions.

In the subsequent requests, RS2 should receive the original trace ID / transaction identifier returned in the response from the first authorization in a recurring series. This includes subsequent aggregate or incremental pre-authorizations, completions, recurring transactions and reversals.

In responses, RS2 will return the trace ID for each transaction as returned by the schemes, which may be different than the one sent in the request. API users are to store the networkTraceId value for subsequent transaction use.

Note: Currently, this field is returned for MasterCard, Visa, Discover, Diners and ELO transactions only

transactionInitiatorId
string (4)

Applicable for MasterCard recurring transactions. A four character value indicating the cardholder/merchant initiated transaction category and and indicator subcategory.
For example, C102 to indicate Cardholder Initiated, Standing Order (variable amount and fixed frequency).

List of possible values:

C1 - Cardholder Initiated

  • 01 - Credential-on-file (ad-hoc): Consumer agrees to store the credential on file with the merchant for future cardholder-initiated and/or merchant-initiated transactions that may occur from time to time, or consumer chooses to use a credential previously placed on file with the merchant when making a purchase.

  • 02 - Standing Order (variable amount and fixed frequency): Consumer agrees to store the credential-on-file and initiates a first transaction in a series intended to be for a variable amount and a fixed frequency.

  • 03 - Subscription (fixed amount and frequency): Consumer agrees to store the credential-on-file and initiates a first transaction in a series intended to be for a fixed amount and a fixed frequency.

M1 - Merchant Initiated Recurring Payment

  • 01 - Unscheduled Credential on File: A transaction made pursuant to an agreement between a cardholder and a merchant, whereby the cardholder authorizes the merchant to store and use the cardholder’s account data to initiate one or more future transactions. The transaction can be for a fixed or variable amount but does not occur at regular intervals on a scheduled date.

  • 02 - Standing Order (variable amount fixed frequency): A transaction made pursuant to an agreement between a cardholder and a merchant, whereby the cardholder authorizes the merchant to store and use the cardholder’s account data for a transaction that must occur at regularly scheduled intervals for a variable amount, as specified in the agreement.

  • 03 - Subscription (fixed amount and frequency): A transaction made pursuant to an agreement between a cardholder and a merchant, whereby the cardholder authorizes the merchant to store and use the cardholder’s account data for a transaction that must occur at regularly scheduled intervals for a fixed amount, as specified in the agreement. The subscription agreement may include an allowance for introductory pricing or for price changes to occur from time to time.

M2 - Merchant initiated Industry practice

  • 07 - No Show Charge: A penalty charged according to the merchant’s cancellation policy.

  • 08 - Resubmission: Previous attempt to obtain authorization for a transaction has been declined but the issuer’s response does not prohibit the merchant from trying again later.

paymentGatewayId
string (11)

Represents the MasterCard merchant payment gateway identifier registered with the card scheme. Should contain numeric value only up to 11 digits.

stan
string (6)

The System Trace Audit Number. A six digit code that must be unique for an online request. Used in conjunction with the transmissionDate and messageType ID to uniquely identify an authorisation.

externalReference
string (36)

A client-specific external identifier value. The value of the externalReference must be unique for each transaction.

hasAddendum
boolean

This flag should only be sent with a capture advice request (0220) whenever addendum data is sent via an 0340 message type. An example would be corporate cards L2/L3 data.

eCom
object
required

Object containing eCommerce related attributes, for eCommerce transactions.

Name Description
cvc2
string (4)
required

The 3 or 4 digits card cvc2 security attribute.

3dSecure
string (42)

Multi-purpose data transport used to communicate cardholder authentication data between the cardholder, merchant, acquirer and issuer for e-commerce transactions.

Its presence is indicated by the securityLevelIndicator attribute.

The data to be passed must be as specified in the Card Organisation online specification manual. For further details please refer to:

  • Diners/Discover/ELO DE 122 AN(…42)

  • MCR DE 48.43 ANS(…32)

  • VISA DE 126.9 H(40)

  • AMEX DE 61.5 H(40)

xid
string (42)

The Universal Cardholder Authentication Field value used for 3D secure transport. Applicable for VISA authorisations only.

securityLevelIndicator
string (3)
required

Indicates if the eCommerce channel is encrypted and if UCAF is supported or not by the merchant. The below positions 1, 2 and 3 indicate the options of the secure level indicator.

  • 21x - Channel Encrypted
  • 22x - Encrypted MasterPass
  • 91x - No Security Protocol (9xx - No security protocol cannot be used for MasterCard transactions)
  • xx0 - UCAF not supported
  • xx1 - UCAF supported
  • xx2 - UCAF present
  • xx4 - UCAF present with Insights AAV for MasterCard Identity Check
psd2ExemptionFlag
string (2)

Valid values:

  • 01 = Merchant Initiated Transaction

  • 02 = Transaction passed a risk analysis

  • 03 = Low Value Payment

  • 04 = SCA delegated

  • 05 = Secure Corporate Payment

  • 06 = Trusted Merchant

  • 07 = Authentication Outage Exception (Currently Mastercard only supported)

3dSecVersion
string (1)

The 3DSecure Version indicates the program protocol being used. The character is the 3D Secure version number. Applicable for MasterCard 3D secure transactions only.

  • 1 = EMV 3-D Secure Version 2.1

  • 2 = EMV 3-D Secure Version 2.2

  • 3 = EMV 3-D Secure Version 2.3

  • 4 = EMV 3-D Secure Version 2.4

  • 5 = EMV 3-D Secure Version 2.5

  • 6 = EMV 3-D Secure Version 2.6

  • 7 = EMV 3-D Secure Version 2.7

  • 8 = EMV 3-D Secure Version 2.8

  • 9 = EMV 3-D Secure Version 2.9

3dSec2DirSerTranId
string (36)

MasterCard only. Applicable for 3D Secure Version 2.0 onwards. Indicates the Directory Server Transaction ID provided by the authentication server. For example:

f38e6948-5388-41a6-bca4-b49723c19437.

pos
object
required

Object containing point of service specific attributes.

Name Description
terminalId
string (8)

An 8-character value identifying the transaction point of service. This value may be required in certain scenarios for transactions to be cleared. If not provided the value defaults to a ‘0AUTHAPI’ value.

panEntry
string (3)
required

PAN entry mode

  • 100 - Credentials already stored on file (applicable to all card schemes)
posCondition
string (2)
required

2-digit ISO value that is used to identify the point of service event of the authorization.

  • 59 - eCommerce
  • 07 - Phone/ARU order
  • 08 - Mail order
avs
object

Object containing Address Verification System attributes

Name Description
postCode
string (9)

Cardholder postcode, for AVS verification, up to 9 characters

streetAddress
string (20)

Cardholder street information for AVS verficiation, up to 20 characters. Alphabetic numbers should be sent in a numeric format. For example, ‘1 second avenue’ should be sent as ‘1 2nd avenue’

response
string (1)

AVS Response.

Address Verification Service Response Visa:

  • A - Street address: MATCH

  • B - N/A

  • M - Post code: MATCH, Street address: MATCH

  • N - Post code MISTMATCH, Street address MISMATCH

  • P - N/A

  • R - Post code: RETRY, Street address: SYSTEM UNAVAILABLE

  • U - Post code: NOT VERIFIED, Street address: NOT VERIFIED

  • Z - Post code: MATCH

Address Verification Service Response Other Card Schemes:

  • A - Post code MISMATCH, Street address MATCH
  • B - Post code NOT VERIFIED, Street address MATCH
  • M - Post code MATCH, Street address MATCH
  • N - Post code MISTMATCH, Street address MISMATCH
  • P - Post code MATCH, Street adress NOT VERIFIED
  • R - RETRY;SYSTEM, Street address UNAVAILABLE
  • U - Post code NOT VERIFIED, Street address NOT VERIFIED
  • Z - Post code MATCH, street address MISMATCH
india
object

Object containing attributes that must be provided for recurring payments initiated on India issued cards (VISA only). This is only used for POST request and will not be returned to the response.

Name Description
recurringPaymentType
string (1)

Indicates the type of recurring payment.

Valid values:

  • 1 - Registration / First transaction

  • 2 - Subsequent transaction

  • 3 - Modification

  • 4 - Cancellation (only applicable for messageType 0100 authorization request)

paymentAmountIndicator
string (1)

The indicator per recurring payment transaction. Valid values:

  • 1 - Fixed amount recurring payment

  • 2 - Recurring payment with maximum amount

recurringPaymentNumber
string (2)

Contains a value ranging from 01–99 that helps the issuer to identify total number of recurring debits for that cardholder has agreed with merchant. Value of 99 means that recurring payments are authorized until canceled or that the Number of Recurring Payments is not defined.

recurringPaymentFrequency
string (2)

Indicates the frequency of payment. Valid values are:

  • 01 - Daily,

  • 02 - Twice weekly,

  • 03 - Weekly,

  • 04 - Ten days,

  • 05 - Fortnightly,

  • 06 - Monthly,

  • 07 - Every 2 months,

  • 08 - Trimester,

  • 09 - Quarterly,

  • 10 - Twice yearly,

  • 11 - Annually,

  • 12 - Unscheduled

registrationReference
string (35)

A unique reference number for the recurring payment transaction. Alphanumeric 35 value. The reference number needs to be provided by the merchant, the value is provided by the SI (Standing Instruction) provider that the merchant works with.

maxRecurringPaymentAmount
object

The maximum recurring payment account agreed to by the cardholder.

Object containing two additional attributes:

  • value The quantative decimal monetary amount (eg. 2.13)

  • currency The ISO 4217 currency code (eg. ‘EUR’)

validationIndicator
string (1)

This tag will contain a value that indicates whether or not the recurring payment transaction has been validated offline during registration.

  • 0 - Not validated

  • 1 - Validated

paymentFacilitator
object

Object containing attributes to support payment facilitator or marketplace requests.

Name Description
cardAcceptorName
string (25)

Only to be provided in case of transactions initiated by payment facilitator or marketplace. Do not send in case of regular merchants.

For Payment Facilitators

Includes the payment facilitator name, in full or in abbreviated form, must be three, seven, or twelve characters in length, followed by an asterisk and the sub-merchant name. Example: PayFacs*SubMerchant

For Visa Marketplaces

Either : Includes the marketplace name, in full or in abbreviated form, followed by an asterisk and the retailer name. Example: Marketplace*Retailer

OR : Includes the marketplace name only

Note: Formats mentioned above are in the RS2Host specification format. RS2 handles the internal conversion to ensure compliance with the card scheme format depending on the card organization applicable for the transaction.

subMerchantCity
string (13)

Indicates the city location of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

subMerchantCountry
string (3)

Indicates the country code, using ISO-3 letter format, of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

paymentFacilitatorId
string (11)

This attribute contains the Payment Facilitator ID/Marketplace ID assigned by the card scheme.

Note 1: As of October 2020 Marketplace is only supported by VISA.

independentSalesOrganisationId
string (11)

This attribute contains the Independent Sales Organization ID assigned by the card scheme.

subMerchantId
string (15)

This attribute contains the Merchant ID of the sub-merchant.

Note: This is also referred to as Sponsored Merchant ID.

subMerchantStreet
string (48)

This attribute contains the card acceptor street for the sub-merchant or Amex OptBlue participant.

subMerchantPostCode
string (10)

This attribute indicates the geographic code of the sub-merchant’s location.

When it is present in a Brazilian Visa transaction, this subfield contains the 8-character numeric postal code.

subMerchantPanEntry
string (1)

The terminal entry capability for sub-merchant terminal:

  • 0 unknown
  • 1 manual, no terminal

Refer to API Data Mapping documentation for list of terminal entry capability available for the institution.

subMerchantTaxId
string (15)

Sub-merchant Tax ID.

This field can also be used for the Brazil sub-merchant tax ID to be sent for Brazil Visa and ELO transactions.

subMerchantVatCategory
string (2)

This attribute contains the Argentina sub-merchant tax category id to be sent for Argentina Mastercard Domestic transactions. Valid values are:

  • 01 Registered Taxpayer
  • 02 Subject not Categorized
  • 03 Exempt
  • 08 Single Taxpayer
  • 09 Not Registered Taxpayer (Re-categorized Form 560/F AFIP) Non-Registered Taxpayer (Recategorized Form 560/F AFIP))
foreignRetailerIndicator
string (1)

Only applicable in case of a Visa Marketplace transaction:

  • Not included if retailer is in the same country as the acquirer
  • F’ In case the the retailer is located in a different country
state
string (3)

State of the sub-merchant. Used by MasterCard/AMEX/Discover only.

email
string (40)

Email of sub-merchant or Amex OptBlue Participant.

telephoneNumber
string (20)

Sub-merchant telephone number available for Mastercard / AMEX / Discover. Required by Mastercard in case URL is not available.

This attribute can also be used for Amex: OptBlue Participants and Bill Payment Providers as well.

Amex Supports up to 20 characters. MasterCard/Visa/Discover support up to 16 characters.

For a limited time period, this attribute can be used to supply the merchant\’s service telephone number in case of a MasterCard merchant not having the service telephone number stored in BankWORKS.

url
string (97)

Represents the sub-merchant website address.

Required by MasterCard for eCommerce transactions and in case a service telephone number (paymentFacilitator.telephoneNumber) is not available.

For a limited time period, this attribute can be used to supply the merchant’s URL in case of a MasterCard merchant not having the URL stored in BankWORKS.

subMerchantMcc
string (4)

To be provided on in case of a transaction initiated by a payment facilitator.

Refer to API Data Mapping documentation for list of MCCs available for the institution.

serviceLocation
object

The service location object is used to pass service location data related to the transaction as required by MasterCard.

Service location data is applicable for:

  • E-commerce: electric vehicle charging or fuel purchase
  • E-commerce: In-store pickup
  • Ride-hailing (eCommerce app payment)
  • Onboard transit (eCommerce app payment)
Name Description
cityName
string (13)

Service location city name.

state
string (3)

Service location state (sub-country) code.

country
string (3)

Service location country code (ISO-3 letter format)

postCode
string (10)

Service location post code.

additionalAmounts
object

This object can be used in the request message of a pre-Authorization Incremental transaction to fill the total accumulated amount of the pre-authorization. When having an Incremental transaction this field is mandatory (with amountType value ‘56’) for Discover and Diners, however, it is optional for other card schemes.

This object is also used in the request message of MIT such as Recurring, Installment, Delayed Card Sale, Re-submission of Card Sale, No-Show Charge, and Unscheduled Payment to fill the amount requested in the original transaction. When having any of the mentioned MIT, this field is mandatory (with amountType value ‘57’) for Discover and Diners. However, it is optional for other card schemes.

Name Description
amountType
string (2)

Indicates the Valid Values:

  • 44 = Tip Amount

  • 56 = Total Accumulated Amount

  • 57 = Original MIT Amount

actualAmount
object

Represents the amount value of the amountType defined. Note that all the actual amount currencies MUST match. The maximum allowed length (including decimal points) is 12.

Relationships
merchant
required

Mandatory relationship linking the pre-authorization incremental request with the merchant.

originalAuth

Optional relationship in case the authorisation is part of a pre-authorisation chain.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type authorisations .

Purchases

This section covers the purchase authorization (sales) transactions supported. Currently we cover card-not-present transaction for both eCommerce and MOTO use cases.

eCommerce

An eCommerce purchase authorization, supporting 3D Secure/UCAF and AVS functionality. The authorization must be linked to a merchant resource in BankWORKS.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/authorisations

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type authorisations with the following attributes:

Name Description
cardNumber
string (19)
required

The cardholder’s card number. The value is returned in masked format.

To filter with this field, you will need to use the LIKE operator with wildcard(%25) and the last four digits of the card, together with a filter for other fields if needed.

  • filter[cardNumber][LIKE]=%258906
expiryDate
number (4)
required

The expiry date of the card in YYMM format.

messageTypeId
string (4)
required

‘0200’ must be provided to indicate a financial authorization.

transactionDate
date-time
required

Local date and time of the transaction originating at the point of service in ISO 8601 format.

transmissionDate
date-time

The transaction date and time at point of service in UTC 0, expressed in ISO 8601 format.

amount
object
required

Requested amount for this authorization. If the authorization will include a surcharge amount (provided in feeAmount), the amount attribute needs to include the full authorization amount, requested amount + the surcharge amount.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeAmount
object

The feeAmount can be used to add a surcharge fee to the transaction. The value accepts both a negative and positive value. A negative value indicates a credit to the cardholder. A positive value indicates a debit to the cardholder. To determine the authorisation amount the feeAmount can be added or subtracted to the amount value depending on the feeAmount sign.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

transactionType
string (2)
required

‘00’ must be provided to indicate a purchase transaction.

authIndicator
string (2)

Optional attribute. Can be passed the following:

  • C = Credentials on file

  • R = Recurring Transaction

Applicable to Diners / Discover only

  • L = Delayed Card Sale

  • E = Re-submission of Card Sale

  • N = No-Show Charge

  • U = Unscheduled Payment

Diners only

  • H = Re-authorization
additionalAuthIndicator
string (1)

This indicator can be used as an additional flag for specific authorization requests.

An example would be for merchants with terminals accepting partial authorizations, request would need to be provided with either 1 or 3 value.

Possible values:

  • 0 = Not applicable: Indicators not set in current transaction or field is not applicable

  • 1 = Terminal accepts partial authorization responses

  • 2 = Estimated amount and terminal does not support partial authorization responses

  • 3 = Estimated amount and terminal accepts partial authorization responses

networkTraceId
string (15)

This field contains the trace id / transaction identifier used by the card schemes to link subsequent transactions.

In the subsequent requests, RS2 should receive the original trace ID / transaction identifier returned in the response from the first authorization in a recurring series. This includes subsequent aggregate or incremental pre-authorizations, completions, recurring transactions and reversals.

In responses, RS2 will return the trace ID for each transaction as returned by the schemes, which may be different than the one sent in the request. API users are to store the networkTraceId value for subsequent transaction use.

Note: Currently, this field is returned for MasterCard, Visa, Discover, Diners and ELO transactions only

transactionInitiatorId
string (4)

Applicable for MasterCard recurring transactions. A four character value indicating the cardholder/merchant initiated transaction category and and indicator subcategory.
For example, C102 to indicate Cardholder Initiated, Standing Order (variable amount and fixed frequency).

List of possible values:

C1 - Cardholder Initiated

  • 01 - Credential-on-file (ad-hoc): Consumer agrees to store the credential on file with the merchant for future cardholder-initiated and/or merchant-initiated transactions that may occur from time to time, or consumer chooses to use a credential previously placed on file with the merchant when making a purchase.

  • 02 - Standing Order (variable amount and fixed frequency): Consumer agrees to store the credential-on-file and initiates a first transaction in a series intended to be for a variable amount and a fixed frequency.

  • 03 - Subscription (fixed amount and frequency): Consumer agrees to store the credential-on-file and initiates a first transaction in a series intended to be for a fixed amount and a fixed frequency.

M1 - Merchant Initiated Recurring Payment

  • 01 - Unscheduled Credential on File: A transaction made pursuant to an agreement between a cardholder and a merchant, whereby the cardholder authorizes the merchant to store and use the cardholder’s account data to initiate one or more future transactions. The transaction can be for a fixed or variable amount but does not occur at regular intervals on a scheduled date.

  • 02 - Standing Order (variable amount fixed frequency): A transaction made pursuant to an agreement between a cardholder and a merchant, whereby the cardholder authorizes the merchant to store and use the cardholder’s account data for a transaction that must occur at regularly scheduled intervals for a variable amount, as specified in the agreement.

  • 03 - Subscription (fixed amount and frequency): A transaction made pursuant to an agreement between a cardholder and a merchant, whereby the cardholder authorizes the merchant to store and use the cardholder’s account data for a transaction that must occur at regularly scheduled intervals for a fixed amount, as specified in the agreement. The subscription agreement may include an allowance for introductory pricing or for price changes to occur from time to time.

M2 - Merchant initiated Industry practice

  • 07 - No Show Charge: A penalty charged according to the merchant’s cancellation policy.

  • 08 - Resubmission: Previous attempt to obtain authorization for a transaction has been declined but the issuer’s response does not prohibit the merchant from trying again later.

paymentGatewayId
string (11)

Represents the MasterCard merchant payment gateway identifier registered with the card scheme. Should contain numeric value only up to 11 digits.

stan
string (6)

The System Trace Audit Number. A six digit code that must be unique for an online request. Used in conjunction with the transmissionDate and messageType ID to uniquely identify an authorisation.

externalReference
string (36)

A client-specific external identifier value. The value of the externalReference must be unique for each transaction.

eCom
object
required

Object containing eCommerce related attributes, for eCommerce transactions.

Name Description
cvc2
string (4)

The 3 or 4 digits card cvc2 security attribute.

3dSecure
string (42)

Multi-purpose data transport used to communicate cardholder authentication data between the cardholder, merchant, acquirer and issuer for e-commerce transactions.

Its presence is indicated by the securityLevelIndicator attribute.

The data to be passed must be as specified in the Card Organisation online specification manual. For further details please refer to:

  • Diners/Discover/ELO DE 122 AN(…42)

  • MCR DE 48.43 ANS(…32)

  • VISA DE 126.9 H(40)

  • AMEX DE 61.5 H(40)

xid
string (42)

The Universal Cardholder Authentication Field value used for 3D secure transport. Applicable for VISA authorisations only.

securityLevelIndicator
string (3)
required

Indicates if the eCommerce channel is encrypted and if UCAF is supported or not by the merchant. The below positions 1, 2 and 3 indicate the options of the secure level indicator.

  • 21x - Channel Encrypted
  • 22x - Encrypted MasterPass
  • 91x - No Security Protocol (9xx - No security protocol cannot be used for MasterCard transactions)
  • xx0 - UCAF not supported
  • xx1 - UCAF supported
  • xx2 - UCAF present
  • xx4 - UCAF present with Insights AAV for MasterCard Identity Check
cvc2ResultCode
string (1)

Indicates response of CVC2 check.

  • M - Match
  • P - Not Processed
  • S - CVV2 should be on the card, but merchant indicated that it was not
  • U - Unknown/Issuer does not participate
  • X - Server provider did not respond
psd2ExemptionFlag
string (2)

Valid values:

  • 01 = Merchant Initiated Transaction

  • 02 = Transaction passed a risk analysis

  • 03 = Low Value Payment

  • 04 = SCA delegated

  • 05 = Secure Corporate Payment

  • 06 = Trusted Merchant

  • 07 = Authentication Outage Exception (Currently Mastercard only supported)

3dSecVersion
string (1)

The 3DSecure Version indicates the program protocol being used. The character is the 3D Secure version number. Applicable for MasterCard 3D secure transactions only.

  • 1 = EMV 3-D Secure Version 2.1

  • 2 = EMV 3-D Secure Version 2.2

  • 3 = EMV 3-D Secure Version 2.3

  • 4 = EMV 3-D Secure Version 2.4

  • 5 = EMV 3-D Secure Version 2.5

  • 6 = EMV 3-D Secure Version 2.6

  • 7 = EMV 3-D Secure Version 2.7

  • 8 = EMV 3-D Secure Version 2.8

  • 9 = EMV 3-D Secure Version 2.9

3dSec2DirSerTranId
string (36)

MasterCard only. Applicable for 3D Secure Version 2.0 onwards. Indicates the Directory Server Transaction ID provided by the authentication server. For example:

f38e6948-5388-41a6-bca4-b49723c19437.

3dSecResponse
string (1)

Accountholder Authentication Value (AAV) which contains the result of the 3DS verification. Applicable for VISA and Mastercard only. Possible response:

  • 0 = AAV verification not performed/not supported by issuer

  • 1 = AAV verification success

  • 2 = AAV verification failure

  • 3 = AAV verification expected but not performed

  • 4 = AAV verification failure - Invalid Security Level Indicator

pos
object
required

Object containing point of service specific attributes.

Name Description
terminalId
string (8)

An 8-character value identifying the transaction point of service. This value may be required in certain scenarios for transactions to be cleared. If not provided the value defaults to a ‘0AUTHAPI’ value.

panEntry
string (3)

PAN entry mode

  • 010 - Manual
posCondition
string (2)
required

2-digit ISO value that is used to identify the point of service event of the authorization.

  • 59 - eCommerce
  • 07 - Phone/ARU order
  • 08 - Mail order
avs
object

Object containing Address Verification System attributes

Name Description
postCode
string (9)

Cardholder postcode, for AVS verification, up to 9 characters

streetAddress
string (20)

Cardholder street information for AVS verficiation, up to 20 characters. Alphabetic numbers should be sent in a numeric format. For example, ‘1 second avenue’ should be sent as ‘1 2nd avenue’

response
string (1)

AVS Response.

Address Verification Service Response Visa:

  • A - Street address: MATCH

  • B - N/A

  • M - Post code: MATCH, Street address: MATCH

  • N - Post code MISTMATCH, Street address MISMATCH

  • P - N/A

  • R - Post code: RETRY, Street address: SYSTEM UNAVAILABLE

  • U - Post code: NOT VERIFIED, Street address: NOT VERIFIED

  • Z - Post code: MATCH

Address Verification Service Response Other Card Schemes:

  • A - Post code MISMATCH, Street address MATCH
  • B - Post code NOT VERIFIED, Street address MATCH
  • M - Post code MATCH, Street address MATCH
  • N - Post code MISTMATCH, Street address MISMATCH
  • P - Post code MATCH, Street adress NOT VERIFIED
  • R - RETRY;SYSTEM, Street address UNAVAILABLE
  • U - Post code NOT VERIFIED, Street address NOT VERIFIED
  • Z - Post code MATCH, street address MISMATCH
india
object

Object containing attributes that must be provided for recurring payments initiated on India issued cards (VISA only). This is only used for POST request and will not be returned to the response.

Name Description
recurringPaymentType
string (1)

Indicates the type of recurring payment.

Valid values:

  • 1 - Registration / First transaction

  • 2 - Subsequent transaction

  • 3 - Modification

  • 4 - Cancellation (only applicable for messageType 0100 authorization request)

paymentAmountIndicator
string (1)

The indicator per recurring payment transaction. Valid values:

  • 1 - Fixed amount recurring payment

  • 2 - Recurring payment with maximum amount

recurringPaymentNumber
string (2)

Contains a value ranging from 01–99 that helps the issuer to identify total number of recurring debits for that cardholder has agreed with merchant. Value of 99 means that recurring payments are authorized until canceled or that the Number of Recurring Payments is not defined.

recurringPaymentFrequency
string (2)

Indicates the frequency of payment. Valid values are:

  • 01 - Daily,

  • 02 - Twice weekly,

  • 03 - Weekly,

  • 04 - Ten days,

  • 05 - Fortnightly,

  • 06 - Monthly,

  • 07 - Every 2 months,

  • 08 - Trimester,

  • 09 - Quarterly,

  • 10 - Twice yearly,

  • 11 - Annually,

  • 12 - Unscheduled

registrationReference
string (35)

A unique reference number for the recurring payment transaction. Alphanumeric 35 value. The reference number needs to be provided by the merchant, the value is provided by the SI (Standing Instruction) provider that the merchant works with.

maxRecurringPaymentAmount
object

The maximum recurring payment account agreed to by the cardholder.

Object containing two additional attributes:

  • value The quantative decimal monetary amount (eg. 2.13)

  • currency The ISO 4217 currency code (eg. ‘EUR’)

validationIndicator
string (1)

This tag will contain a value that indicates whether or not the recurring payment transaction has been validated offline during registration.

  • 0 - Not validated

  • 1 - Validated

paymentFacilitator
object

Object containing attributes to support payment facilitator or marketplace requests.

Name Description
cardAcceptorName
string (25)

Only to be provided in case of transactions initiated by payment facilitator or marketplace. Do not send in case of regular merchants.

For Payment Facilitators

Includes the payment facilitator name, in full or in abbreviated form, must be three, seven, or twelve characters in length, followed by an asterisk and the sub-merchant name. Example: PayFacs*SubMerchant

For Visa Marketplaces

Either : Includes the marketplace name, in full or in abbreviated form, followed by an asterisk and the retailer name. Example: Marketplace*Retailer

OR : Includes the marketplace name only

Note: Formats mentioned above are in the RS2Host specification format. RS2 handles the internal conversion to ensure compliance with the card scheme format depending on the card organization applicable for the transaction.

subMerchantCity
string (13)

Indicates the city location of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

subMerchantCountry
string (3)

Indicates the country code, using ISO-3 letter format, of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

paymentFacilitatorId
string (11)

This attribute contains the Payment Facilitator ID/Marketplace ID assigned by the card scheme.

Note 1: As of October 2020 Marketplace is only supported by VISA.

independentSalesOrganisationId
string (11)

This attribute contains the Independent Sales Organization ID assigned by the card scheme.

subMerchantId
string (15)

This attribute contains the Merchant ID of the sub-merchant.

Note: This is also referred to as Sponsored Merchant ID.

subMerchantStreet
string (48)

This attribute contains the card acceptor street for the sub-merchant or Amex OptBlue participant.

subMerchantPostCode
string (10)

This attribute indicates the geographic code of the sub-merchant’s location.

When it is present in a Brazilian Visa transaction, this subfield contains the 8-character numeric postal code.

subMerchantPanEntry
string (1)

The terminal entry capability for sub-merchant terminal:

  • 0 unknown
  • 1 manual, no terminal

Refer to API Data Mapping documentation for list of terminal entry capability available for the institution.

subMerchantTaxId
string (15)

Sub-merchant Tax ID.

This field can also be used for the Brazil sub-merchant tax ID to be sent for Brazil Visa and ELO transactions.

subMerchantVatCategory
string (2)

This attribute contains the Argentina sub-merchant tax category id to be sent for Argentina Mastercard Domestic transactions. Valid values are:

  • 01 Registered Taxpayer
  • 02 Subject not Categorized
  • 03 Exempt
  • 08 Single Taxpayer
  • 09 Not Registered Taxpayer (Re-categorized Form 560/F AFIP) Non-Registered Taxpayer (Recategorized Form 560/F AFIP))
foreignRetailerIndicator
string (1)

Only applicable in case of a Visa Marketplace transaction:

  • Not included if retailer is in the same country as the acquirer
  • F’ In case the the retailer is located in a different country
state
string (3)

State of the sub-merchant. Used by MasterCard/AMEX/Discover only.

email
string (40)

Email of sub-merchant or Amex OptBlue Participant.

telephoneNumber
string (20)

Sub-merchant telephone number available for Mastercard / AMEX / Discover. Required by Mastercard in case URL is not available.

This attribute can also be used for Amex: OptBlue Participants and Bill Payment Providers as well.

Amex Supports up to 20 characters. MasterCard/Visa/Discover support up to 16 characters.

For a limited time period, this attribute can be used to supply the merchant\’s service telephone number in case of a MasterCard merchant not having the service telephone number stored in BankWORKS.

url
string (97)

Represents the sub-merchant website address.

Required by MasterCard for eCommerce transactions and in case a service telephone number (paymentFacilitator.telephoneNumber) is not available.

For a limited time period, this attribute can be used to supply the merchant’s URL in case of a MasterCard merchant not having the URL stored in BankWORKS.

subMerchantMcc
string (4)

To be provided on in case of a transaction initiated by a payment facilitator.

Refer to API Data Mapping documentation for list of MCCs available for the institution.

serviceLocation
object

The service location object is used to pass service location data related to the transaction as required by MasterCard.

Service location data is applicable for:

  • E-commerce: electric vehicle charging or fuel purchase
  • E-commerce: In-store pickup
  • Ride-hailing (eCommerce app payment)
  • Onboard transit (eCommerce app payment)
Name Description
cityName
string (13)

Service location city name.

state
string (3)

Service location state (sub-country) code.

country
string (3)

Service location country code (ISO-3 letter format)

postCode
string (10)

Service location post code.

additionalAmounts
object

This object can be used in the request message of a pre-Authorization Incremental transaction to fill the total accumulated amount of the pre-authorization. When having an Incremental transaction this field is mandatory (with amountType value ‘56’) for Discover and Diners, however, it is optional for other card schemes.

This object is also used in the request message of MIT such as Recurring, Installment, Delayed Card Sale, Re-submission of Card Sale, No-Show Charge, and Unscheduled Payment to fill the amount requested in the original transaction. When having any of the mentioned MIT, this field is mandatory (with amountType value ‘57’) for Discover and Diners. However, it is optional for other card schemes.

Name Description
amountType
string (2)

Indicates the Valid Values:

  • 44 = Tip Amount

  • 56 = Total Accumulated Amount

  • 57 = Original MIT Amount

actualAmount
object

Represents the amount value of the amountType defined. Note that all the actual amount currencies MUST match. The maximum allowed length (including decimal points) is 12.

Relationships
merchant
required

Linked merchant from where the authorization originated.

Response

eCommerce - Status Code 201 : HTTP 201 (Created)

eCommerce - Status Code 202 : HTTP 202 (Accepted)

eCommerce - Merchant Not Found : HTTP 404 (Not Found)

Response body will contain the created JSON:API resource of type authorisations .

MOTO

The posCondition attribute will need to be used to make a distinction between Mail Order and Telephone Order authorizations. The authorization must be linked to a merchant resource in BankWORKS.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/authorisations

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type authorisations with the following attributes:

Name Description
cardNumber
string (19)
required

The cardholder’s card number. The value is returned in masked format.

To filter with this field, you will need to use the LIKE operator with wildcard(%25) and the last four digits of the card, together with a filter for other fields if needed.

  • filter[cardNumber][LIKE]=%258906
expiryDate
number (4)
required

The expiry date of the card in YYMM format.

messageTypeId
string (4)
required

‘0200’ must be provided to indicate a financial authorization.

transactionDate
date-time
required

Local date and time of the transaction originating at the point of service in ISO 8601 format.

transmissionDate
date-time

The transaction date and time at point of service in UTC 0, expressed in ISO 8601 format.

amount
object
required

Requested amount for this authorization. If the authorization will include a surcharge amount (provided in feeAmount), the amount attribute needs to include the full authorization amount, requested amount + the surcharge amount.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeAmount
object

The feeAmount can be used to add a surcharge fee to the transaction. The value accepts both a negative and positive value. A negative value indicates a credit to the cardholder. A positive value indicates a debit to the cardholder. To determine the authorisation amount the feeAmount can be added or subtracted to the amount value depending on the feeAmount sign.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

transactionType
string (2)
required

‘00’ must be provided to indicate a purchase transaction.

authIndicator
string (2)

Optional attribute. Can be passed the following:

  • C = Credential on file

  • R = Recurring Transaction

Applicable to Diners / Discover only

  • L = Delayed Card Sale

  • E = Re-submission of Card Sale

  • N = No-Show Charge

  • U = Unscheduled Payment

Diners only

  • H = Re-authorization
additionalAuthIndicator
string (1)

This indicator can be used as an additional flag for specific authorization requests.

An example would be for merchants with terminals accepting partial authorizations, request would need to be provided with either 1 or 3 value.

Possible values:

  • 0 = Not applicable: Indicators not set in current transaction or field is not applicable

  • 1 = Terminal accepts partial authorization responses

  • 2 = Estimated amount and terminal does not support partial authorization responses

  • 3 = Estimated amount and terminal accepts partial authorization responses

networkTraceId
string (15)

This field contains the trace id / transaction identifier used by the card schemes to link subsequent transactions.

In the subsequent requests, RS2 should receive the original trace ID / transaction identifier returned in the response from the first authorization in a recurring series. This includes subsequent aggregate or incremental pre-authorizations, completions, recurring transactions and reversals.

In responses, RS2 will return the trace ID for each transaction as returned by the schemes, which may be different than the one sent in the request. API users are to store the networkTraceId value for subsequent transaction use.

Note: Currently, this field is returned for MasterCard, Visa, Discover, Diners and ELO transactions only

transactionInitiatorId
string (4)

Applicable for MasterCard recurring transactions. A four character value indicating the cardholder/merchant initiated transaction category and and indicator subcategory.
For example, C102 to indicate Cardholder Initiated, Standing Order (variable amount and fixed frequency).

List of possible values:

C1 - Cardholder Initiated

  • 01 - Credential-on-file (ad-hoc): Consumer agrees to store the credential on file with the merchant for future cardholder-initiated and/or merchant-initiated transactions that may occur from time to time, or consumer chooses to use a credential previously placed on file with the merchant when making a purchase.

  • 02 - Standing Order (variable amount and fixed frequency): Consumer agrees to store the credential-on-file and initiates a first transaction in a series intended to be for a variable amount and a fixed frequency.

  • 03 - Subscription (fixed amount and frequency): Consumer agrees to store the credential-on-file and initiates a first transaction in a series intended to be for a fixed amount and a fixed frequency.

M1 - Merchant Initiated Recurring Payment

  • 01 - Unscheduled Credential on File: A transaction made pursuant to an agreement between a cardholder and a merchant, whereby the cardholder authorizes the merchant to store and use the cardholder’s account data to initiate one or more future transactions. The transaction can be for a fixed or variable amount but does not occur at regular intervals on a scheduled date.

  • 02 - Standing Order (variable amount fixed frequency): A transaction made pursuant to an agreement between a cardholder and a merchant, whereby the cardholder authorizes the merchant to store and use the cardholder’s account data for a transaction that must occur at regularly scheduled intervals for a variable amount, as specified in the agreement.

  • 03 - Subscription (fixed amount and frequency): A transaction made pursuant to an agreement between a cardholder and a merchant, whereby the cardholder authorizes the merchant to store and use the cardholder’s account data for a transaction that must occur at regularly scheduled intervals for a fixed amount, as specified in the agreement. The subscription agreement may include an allowance for introductory pricing or for price changes to occur from time to time.

M2 - Merchant initiated Industry practice

  • 07 - No Show Charge: A penalty charged according to the merchant’s cancellation policy.

  • 08 - Resubmission: Previous attempt to obtain authorization for a transaction has been declined but the issuer’s response does not prohibit the merchant from trying again later.

paymentGatewayId
string (11)

Represents the MasterCard merchant payment gateway identifier registered with the card scheme. Should contain numeric value only up to 11 digits.

stan
string (6)

The System Trace Audit Number. A six digit code that must be unique for an online request. Used in conjunction with the transmissionDate and messageType ID to uniquely identify an authorisation.

externalReference
string (36)

A client-specific external identifier value. The value of the externalReference must be unique for each transaction.

eCom
object

Object containing eCommerce related attributes, for eCommerce transactions.

Name Description
cvc2
string (4)

The 3 or 4 digits card cvc2 security attribute.

3dSecure
string (42)

Multi-purpose data transport used to communicate cardholder authentication data between the cardholder, merchant, acquirer and issuer for e-commerce transactions.

Its presence is indicated by the securityLevelIndicator attribute.

The data to be passed must be as specified in the Card Organisation online specification manual. For further details please refer to:

  • Diners/Discover/ELO DE 122 AN(…42)

  • MCR DE 48.43 ANS(…32)

  • VISA DE 126.9 H(40)

  • AMEX DE 61.5 H(40)

xid
string (42)

The Universal Cardholder Authentication Field value used for 3D secure transport. Applicable for VISA authorisations only.

securityLevelIndicator
string (3)

Indicates if the eCommerce channel is encrypted and if UCAF is supported or not by the merchant. The below positions 1, 2 and 3 indicate the options of the secure level indicator.

  • 21x - Channel Encrypted
  • 22x - Encrypted MasterPass
  • 91x - No Security Protocol (9xx - No security protocol cannot be used for MasterCard transactions)
  • xx0 - UCAF not supported
  • xx1 - UCAF supported
  • xx2 - UCAF present
  • xx4 - UCAF present with Insights AAV for MasterCard Identity Check
cvc2ResultCode
string (1)

Indicates response of CVC2 check.

  • M - Match
  • P - Not Processed
  • S - CVV2 should be on the card, but merchant indicated that it was not
  • U - Unknown/Issuer does not participate
  • X - Server provider did not respond
psd2ExemptionFlag
string (2)

Valid values:

  • 01 = Merchant Initiated Transaction

  • 02 = Transaction passed a risk analysis

  • 03 = Low Value Payment

  • 04 = SCA delegated

  • 05 = Secure Corporate Payment

  • 06 = Trusted Merchant

  • 07 = Authentication Outage Exception (Currently Mastercard only supported)

3dSecVersion
string (1)

The 3DSecure Version indicates the program protocol being used. The character is the 3D Secure version number. Applicable for MasterCard 3D secure transactions only.

  • 1 = EMV 3-D Secure Version 2.1

  • 2 = EMV 3-D Secure Version 2.2

  • 3 = EMV 3-D Secure Version 2.3

  • 4 = EMV 3-D Secure Version 2.4

  • 5 = EMV 3-D Secure Version 2.5

  • 6 = EMV 3-D Secure Version 2.6

  • 7 = EMV 3-D Secure Version 2.7

  • 8 = EMV 3-D Secure Version 2.8

  • 9 = EMV 3-D Secure Version 2.9

3dSec2DirSerTranId
string (36)

MasterCard only. Applicable for 3D Secure Version 2.0 onwards. Indicates the Directory Server Transaction ID provided by the authentication server. For example:

f38e6948-5388-41a6-bca4-b49723c19437.

3dSecResponse
string (1)

Accountholder Authentication Value (AAV) which contains the result of the 3DS verification. Applicable for VISA and Mastercard only. Possible response:

  • 0 = AAV verification not performed/not supported by issuer

  • 1 = AAV verification success

  • 2 = AAV verification failure

  • 3 = AAV verification expected but not performed

  • 4 = AAV verification failure - Invalid Security Level Indicator

pos
object
required

Object containing point of service specific attributes.

Name Description
terminalId
string (8)

An 8-character value identifying the transaction point of service. This value may be required in certain scenarios for transactions to be cleared. If not provided the value defaults to a ‘0AUTHAPI’ value.

panEntry
string (3)

PAN entry mode

  • 010 - Manual
posCondition
string (2)
required

2-digit ISO value that is used to identify the point of service event of the authorization.

  • 59 - eCommerce
  • 07 - Phone/ARU order
  • 08 - Mail order
avs
object

Object containing Address Verification System attributes

Name Description
postCode
string (9)

Cardholder postcode, for AVS verification, up to 9 characters

streetAddress
string (20)

Cardholder street information for AVS verficiation, up to 20 characters. Alphabetic numbers should be sent in a numeric format. For example, ‘1 second avenue’ should be sent as ‘1 2nd avenue’

response
string (1)

AVS Response.

Address Verification Service Response Visa:

  • A - Street address: MATCH

  • B - N/A

  • M - Post code: MATCH, Street address: MATCH

  • N - Post code MISTMATCH, Street address MISMATCH

  • P - N/A

  • R - Post code: RETRY, Street address: SYSTEM UNAVAILABLE

  • U - Post code: NOT VERIFIED, Street address: NOT VERIFIED

  • Z - Post code: MATCH

Address Verification Service Response Other Card Schemes:

  • A - Post code MISMATCH, Street address MATCH
  • B - Post code NOT VERIFIED, Street address MATCH
  • M - Post code MATCH, Street address MATCH
  • N - Post code MISTMATCH, Street address MISMATCH
  • P - Post code MATCH, Street adress NOT VERIFIED
  • R - RETRY;SYSTEM, Street address UNAVAILABLE
  • U - Post code NOT VERIFIED, Street address NOT VERIFIED
  • Z - Post code MATCH, street address MISMATCH
india
object

Object containing attributes that must be provided for recurring payments initiated on India issued cards (VISA only). This is only used for POST request and will not be returned to the response.

Name Description
recurringPaymentType
string (1)

Indicates the type of recurring payment.

Valid values:

  • 1 - Registration / First transaction

  • 2 - Subsequent transaction

  • 3 - Modification

  • 4 - Cancellation (only applicable for messageType 0100 authorization request)

paymentAmountIndicator
string (1)

The indicator per recurring payment transaction. Valid values:

  • 1 - Fixed amount recurring payment

  • 2 - Recurring payment with maximum amount

recurringPaymentNumber
string (2)

Contains a value ranging from 01–99 that helps the issuer to identify total number of recurring debits for that cardholder has agreed with merchant. Value of 99 means that recurring payments are authorized until canceled or that the Number of Recurring Payments is not defined.

recurringPaymentFrequency
string (2)

Indicates the frequency of payment. Valid values are:

  • 01 - Daily,

  • 02 - Twice weekly,

  • 03 - Weekly,

  • 04 - Ten days,

  • 05 - Fortnightly,

  • 06 - Monthly,

  • 07 - Every 2 months,

  • 08 - Trimester,

  • 09 - Quarterly,

  • 10 - Twice yearly,

  • 11 - Annually,

  • 12 - Unscheduled

registrationReference
string (35)

A unique reference number for the recurring payment transaction. Alphanumeric 35 value. The reference number needs to be provided by the merchant, the value is provided by the SI (Standing Instruction) provider that the merchant works with.

maxRecurringPaymentAmount
object

The maximum recurring payment account agreed to by the cardholder.

Object containing two additional attributes:

  • value The quantative decimal monetary amount (eg. 2.13)

  • currency The ISO 4217 currency code (eg. ‘EUR’)

validationIndicator
string (1)

This tag will contain a value that indicates whether or not the recurring payment transaction has been validated offline during registration.

  • 0 - Not validated

  • 1 - Validated

paymentFacilitator
object

Object containing attributes to support payment facilitator or marketplace requests.

Name Description
cardAcceptorName
string (25)

Only to be provided in case of transactions initiated by payment facilitator or marketplace. Do not send in case of regular merchants.

For Payment Facilitators

Includes the payment facilitator name, in full or in abbreviated form, must be three, seven, or twelve characters in length, followed by an asterisk and the sub-merchant name. Example: PayFacs*SubMerchant

For Visa Marketplaces

Either : Includes the marketplace name, in full or in abbreviated form, followed by an asterisk and the retailer name. Example: Marketplace*Retailer

OR : Includes the marketplace name only

Note: Formats mentioned above are in the RS2Host specification format. RS2 handles the internal conversion to ensure compliance with the card scheme format depending on the card organization applicable for the transaction.

subMerchantCity
string (13)

Indicates the city location of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

subMerchantCountry
string (3)

Indicates the country code, using ISO-3 letter format, of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

paymentFacilitatorId
string (11)

This attribute contains the Payment Facilitator ID/Marketplace ID assigned by the card scheme.

Note 1: As of October 2020 Marketplace is only supported by VISA.

independentSalesOrganisationId
string (11)

This attribute contains the Independent Sales Organization ID assigned by the card scheme.

subMerchantId
string (15)

This attribute contains the Merchant ID of the sub-merchant.

Note: This is also referred to as Sponsored Merchant ID.

subMerchantStreet
string (48)

This attribute contains the card acceptor street for the sub-merchant or Amex OptBlue participant.

subMerchantPostCode
string (10)

This attribute indicates the geographic code of the sub-merchant’s location.

When it is present in a Brazilian Visa transaction, this subfield contains the 8-character numeric postal code.

subMerchantPanEntry
string (1)

The terminal entry capability for sub-merchant terminal:

  • 0 unknown
  • 1 manual, no terminal

Refer to API Data Mapping documentation for list of terminal entry capability available for the institution.

subMerchantTaxId
string (15)

Sub-merchant Tax ID.

This field can also be used for the Brazil sub-merchant tax ID to be sent for Brazil Visa and ELO transactions.

subMerchantVatCategory
string (2)

This attribute contains the Argentina sub-merchant tax category id to be sent for Argentina Mastercard Domestic transactions. Valid values are:

  • 01 Registered Taxpayer
  • 02 Subject not Categorized
  • 03 Exempt
  • 08 Single Taxpayer
  • 09 Not Registered Taxpayer (Re-categorized Form 560/F AFIP) Non-Registered Taxpayer (Recategorized Form 560/F AFIP))
foreignRetailerIndicator
string (1)

Only applicable in case of a Visa Marketplace transaction:

  • Not included if retailer is in the same country as the acquirer
  • F’ In case the the retailer is located in a different country
state
string (3)

State of the sub-merchant. Used by MasterCard/AMEX/Discover only.

email
string (40)

Email of sub-merchant or Amex OptBlue Participant.

telephoneNumber
string (20)

Sub-merchant telephone number available for Mastercard / AMEX / Discover. Required by Mastercard in case URL is not available.

This attribute can also be used for Amex: OptBlue Participants and Bill Payment Providers as well.

Amex Supports up to 20 characters. MasterCard/Visa/Discover support up to 16 characters.

For a limited time period, this attribute can be used to supply the merchant\’s service telephone number in case of a MasterCard merchant not having the service telephone number stored in BankWORKS.

url
string (97)

Represents the sub-merchant website address.

Required by MasterCard for eCommerce transactions and in case a service telephone number (paymentFacilitator.telephoneNumber) is not available.

For a limited time period, this attribute can be used to supply the merchant’s URL in case of a MasterCard merchant not having the URL stored in BankWORKS.

subMerchantMcc
string (4)

To be provided on in case of a transaction initiated by a payment facilitator.

Refer to API Data Mapping documentation for list of MCCs available for the institution.

additionalAmounts
object

This object can be used in the request message of a pre-Authorization Incremental transaction to fill the total accumulated amount of the pre-authorization. When having an Incremental transaction this field is mandatory (with amountType value ‘56’) for Discover and Diners, however, it is optional for other card schemes.

This object is also used in the request message of MIT such as Recurring, Installment, Delayed Card Sale, Re-submission of Card Sale, No-Show Charge, and Unscheduled Payment to fill the amount requested in the original transaction. When having any of the mentioned MIT, this field is mandatory (with amountType value ‘57’) for Discover and Diners. However, it is optional for other card schemes.

Name Description
amountType
string (2)

Indicates the Valid Values:

  • 44 = Tip Amount

  • 56 = Total Accumulated Amount

  • 57 = Original MIT Amount

actualAmount
object

Represents the amount value of the amountType defined. Note that all the actual amount currencies MUST match. The maximum allowed length (including decimal points) is 12.

Relationships
merchant
required

Linked merchant from where the authorization originated.

Response

MOTO - Status Code 201 : HTTP 201 (Created)

MOTO - Status Code 202 : HTTP 202 (Accepted)

Response body will contain the created JSON:API resource of type authorisations .

Payment Facilitator

Payment facilitator - Purchase authorization; support for the payment facilitator object that is sent to BankWORKS for processing. The authorization must be linked to a merchant resource in BankWORKS.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/authorisations

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type authorisations with the following attributes:

Name Description
cardNumber
string (19)
required

The cardholder’s card number. The value is returned in masked format.

To filter with this field, you will need to use the LIKE operator with wildcard(%25) and the last four digits of the card, together with a filter for other fields if needed.

  • filter[cardNumber][LIKE]=%258906
expiryDate
number (4)
required

The expiry date of the card in YYMM format.

messageTypeId
string (4)
required

‘0200’ must be provided to indicate a financial authorization.

transactionDate
date-time
required

Local date and time of the transaction originating at the point of service in ISO 8601 format.

transmissionDate
date-time

The transaction date and time at point of service in UTC 0, expressed in ISO 8601 format.

amount
object
required

Requested amount for this authorization. If the authorization will include a surcharge amount (provided in feeAmount), the amount attribute needs to include the full authorization amount, requested amount + the surcharge amount.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeAmount
object

The feeAmount can be used to add a surcharge fee to the transaction. The value accepts both a negative and positive value. A negative value indicates a credit to the cardholder. A positive value indicates a debit to the cardholder. To determine the authorisation amount the feeAmount can be added or subtracted to the amount value depending on the feeAmount sign.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

transactionType
string (2)
required

‘00’ must be provided to indicate a purchase transaction.

authIndicator
string (2)

Optional attribute. ‘R’ can be passed to indicate a recurring transaction.

additionalAuthIndicator
string (1)

This indicator can be used as an additional flag for specific authorization requests.

An example would be for merchants with terminals accepting partial authorizations, request would need to be provided with either 1 or 3 value.

Possible values:

  • 0 = Not applicable: Indicators not set in current transaction or field is not applicable

  • 1 = Terminal accepts partial authorization responses

  • 2 = Estimated amount and terminal does not support partial authorization responses

  • 3 = Estimated amount and terminal accepts partial authorization responses

networkTraceId
string (15)

This field contains the trace id / transaction identifier used by the card schemes to link subsequent transactions.

In the subsequent requests, RS2 should receive the original trace ID / transaction identifier returned in the response from the first authorization in a recurring series. This includes subsequent aggregate or incremental pre-authorizations, completions, recurring transactions and reversals.

In responses, RS2 will return the trace ID for each transaction as returned by the schemes, which may be different than the one sent in the request. API users are to store the networkTraceId value for subsequent transaction use.

Note: Currently, this field is returned for MasterCard, Visa, Discover, Diners and ELO transactions only

transactionInitiatorId
string (4)

Applicable for MasterCard recurring transactions. A four character value indicating the cardholder/merchant initiated transaction category and and indicator subcategory.
For example, C102 to indicate Cardholder Initiated, Standing Order (variable amount and fixed frequency).

List of possible values:

C1 - Cardholder Initiated

  • 01 - Credential-on-file (ad-hoc): Consumer agrees to store the credential on file with the merchant for future cardholder-initiated and/or merchant-initiated transactions that may occur from time to time, or consumer chooses to use a credential previously placed on file with the merchant when making a purchase.

  • 02 - Standing Order (variable amount and fixed frequency): Consumer agrees to store the credential-on-file and initiates a first transaction in a series intended to be for a variable amount and a fixed frequency.

  • 03 - Subscription (fixed amount and frequency): Consumer agrees to store the credential-on-file and initiates a first transaction in a series intended to be for a fixed amount and a fixed frequency.

M1 - Merchant Initiated Recurring Payment

  • 01 - Unscheduled Credential on File: A transaction made pursuant to an agreement between a cardholder and a merchant, whereby the cardholder authorizes the merchant to store and use the cardholder’s account data to initiate one or more future transactions. The transaction can be for a fixed or variable amount but does not occur at regular intervals on a scheduled date.

  • 02 - Standing Order (variable amount fixed frequency): A transaction made pursuant to an agreement between a cardholder and a merchant, whereby the cardholder authorizes the merchant to store and use the cardholder’s account data for a transaction that must occur at regularly scheduled intervals for a variable amount, as specified in the agreement.

  • 03 - Subscription (fixed amount and frequency): A transaction made pursuant to an agreement between a cardholder and a merchant, whereby the cardholder authorizes the merchant to store and use the cardholder’s account data for a transaction that must occur at regularly scheduled intervals for a fixed amount, as specified in the agreement. The subscription agreement may include an allowance for introductory pricing or for price changes to occur from time to time.

M2 - Merchant initiated Industry practice

  • 07 - No Show Charge: A penalty charged according to the merchant’s cancellation policy.

  • 08 - Resubmission: Previous attempt to obtain authorization for a transaction has been declined but the issuer’s response does not prohibit the merchant from trying again later.

paymentGatewayId
string (11)

Represents the MasterCard merchant payment gateway identifier registered with the card scheme. Should contain numeric value only up to 11 digits.

stan
string (6)

The System Trace Audit Number. A six digit code that must be unique for an online request. Used in conjunction with the transmissionDate and messageType ID to uniquely identify an authorisation.

externalReference
string (36)

A client-specific external identifier value. The value of the externalReference must be unique for each transaction.

eCom
object

Object containing eCommerce related attributes, for eCommerce transactions.

Name Description
cvc2
string (4)

The 3 or 4 digits card cvc2 security attribute.

3dSecure
string (42)

Multi-purpose data transport used to communicate cardholder authentication data between the cardholder, merchant, acquirer and issuer for e-commerce transactions.

Its presence is indicated by the securityLevelIndicator attribute.

The data to be passed must be as specified in the Card Organisation online specification manual. For further details please refer to:

  • Diners/Discover/ELO DE 122 AN(…42)

  • MCR DE 48.43 ANS(…32)

  • VISA DE 126.9 H(40)

  • AMEX DE 61.5 H(40)

xid
string (42)

The Universal Cardholder Authentication Field value used for 3D secure transport. Applicable for VISA authorisations only.

securityLevelIndicator
string (3)

Indicates if the eCommerce channel is encrypted and if UCAF is supported or not by the merchant. The below positions 1, 2 and 3 indicate the options of the secure level indicator.

  • 21x - Channel Encrypted
  • 22x - Encrypted MasterPass
  • 91x - No Security Protocol (9xx - No security protocol cannot be used for MasterCard transactions)
  • xx0 - UCAF not supported
  • xx1 - UCAF supported
  • xx2 - UCAF present
  • xx4 - UCAF present with Insights AAV for MasterCard Identity Check
cvc2ResultCode
string (1)

Indicates response of CVC2 check.

  • M - Match
  • P - Not Processed
  • S - CVV2 should be on the card, but merchant indicated that it was not
  • U - Unknown/Issuer does not participate
  • X - Server provider did not respond
psd2ExemptionFlag
string (2)

Valid values:

  • 01 = Merchant Initiated Transaction

  • 02 = Transaction passed a risk analysis

  • 03 = Low Value Payment

  • 04 = SCA delegated

  • 05 = Secure Corporate Payment

  • 06 = Trusted Merchant

  • 07 = Authentication Outage Exception (Currently Mastercard only supported)

3dSecVersion
string (1)

The 3DSecure Version indicates the program protocol being used. The character is the 3D Secure version number. Applicable for MasterCard 3D secure transactions only.

  • 1 = EMV 3-D Secure Version 2.1

  • 2 = EMV 3-D Secure Version 2.2

  • 3 = EMV 3-D Secure Version 2.3

  • 4 = EMV 3-D Secure Version 2.4

  • 5 = EMV 3-D Secure Version 2.5

  • 6 = EMV 3-D Secure Version 2.6

  • 7 = EMV 3-D Secure Version 2.7

  • 8 = EMV 3-D Secure Version 2.8

  • 9 = EMV 3-D Secure Version 2.9

3dSec2DirSerTranId
string (36)

MasterCard only. Applicable for 3D Secure Version 2.0 onwards. Indicates the Directory Server Transaction ID provided by the authentication server. For example:

f38e6948-5388-41a6-bca4-b49723c19437.

3dSecResponse
string (1)

Accountholder Authentication Value (AAV) which contains the result of the 3DS verification. Applicable for VISA and Mastercard only. Possible response:

  • 0 = AAV verification not performed/not supported by issuer

  • 1 = AAV verification success

  • 2 = AAV verification failure

  • 3 = AAV verification expected but not performed

  • 4 = AAV verification failure - Invalid Security Level Indicator

pos
object
required

Object containing point of service specific attributes.

Name Description
terminalId
string (8)

An 8-character value identifying the transaction point of service. This value may be required in certain scenarios for transactions to be cleared. If not provided the value defaults to a ‘0AUTHAPI’ value.

panEntry
string (3)

PAN entry mode

  • 010 - Manual
posCondition
string (2)

2-digit ISO value that is used to identify the point of service event of the authorization.

  • 59 - eCommerce
  • 07 - Phone/ARU order
  • 08 - Mail order
avs
object

Object containing Address Verification System attributes

Name Description
postCode
string (9)

Cardholder postcode, for AVS verification, up to 9 characters

streetAddress
string (20)

Cardholder street information for AVS verficiation, up to 20 characters. Alphabetic numbers should be sent in a numeric format. For example, ‘1 second avenue’ should be sent as ‘1 2nd avenue’

response
string (1)

AVS Response.

Address Verification Service Response Visa:

  • A - Street address: MATCH

  • B - N/A

  • M - Post code: MATCH, Street address: MATCH

  • N - Post code MISTMATCH, Street address MISMATCH

  • P - N/A

  • R - Post code: RETRY, Street address: SYSTEM UNAVAILABLE

  • U - Post code: NOT VERIFIED, Street address: NOT VERIFIED

  • Z - Post code: MATCH

Address Verification Service Response Other Card Schemes:

  • A - Post code MISMATCH, Street address MATCH
  • B - Post code NOT VERIFIED, Street address MATCH
  • M - Post code MATCH, Street address MATCH
  • N - Post code MISTMATCH, Street address MISMATCH
  • P - Post code MATCH, Street adress NOT VERIFIED
  • R - RETRY;SYSTEM, Street address UNAVAILABLE
  • U - Post code NOT VERIFIED, Street address NOT VERIFIED
  • Z - Post code MATCH, street address MISMATCH
india
object

Object containing attributes that must be provided for recurring payments initiated on India issued cards (VISA only). This is only used for POST request and will not be returned to the response.

Name Description
recurringPaymentType
string (1)

Indicates the type of recurring payment.

Valid values:

  • 1 - Registration / First transaction

  • 2 - Subsequent transaction

  • 3 - Modification

  • 4 - Cancellation (only applicable for messageType 0100 authorization request)

paymentAmountIndicator
string (1)

The indicator per recurring payment transaction. Valid values:

  • 1 - Fixed amount recurring payment

  • 2 - Recurring payment with maximum amount

recurringPaymentNumber
string (2)

Contains a value ranging from 01–99 that helps the issuer to identify total number of recurring debits for that cardholder has agreed with merchant. Value of 99 means that recurring payments are authorized until canceled or that the Number of Recurring Payments is not defined.

recurringPaymentFrequency
string (2)

Indicates the frequency of payment. Valid values are:

  • 01 - Daily,

  • 02 - Twice weekly,

  • 03 - Weekly,

  • 04 - Ten days,

  • 05 - Fortnightly,

  • 06 - Monthly,

  • 07 - Every 2 months,

  • 08 - Trimester,

  • 09 - Quarterly,

  • 10 - Twice yearly,

  • 11 - Annually,

  • 12 - Unscheduled

registrationReference
string (35)

A unique reference number for the recurring payment transaction. Alphanumeric 35 value. The reference number needs to be provided by the merchant, the value is provided by the SI (Standing Instruction) provider that the merchant works with.

maxRecurringPaymentAmount
object

The maximum recurring payment account agreed to by the cardholder.

Object containing two additional attributes:

  • value The quantative decimal monetary amount (eg. 2.13)

  • currency The ISO 4217 currency code (eg. ‘EUR’)

validationIndicator
string (1)

This tag will contain a value that indicates whether or not the recurring payment transaction has been validated offline during registration.

  • 0 - Not validated

  • 1 - Validated

paymentFacilitator
object

Object containing attributes to support payment facilitator or marketplace requests.

Name Description
cardAcceptorName
string (25)
required

Only to be provided in case of transactions initiated by payment facilitator or marketplace. Do not send in case of regular merchants.

For Payment Facilitators

Includes the payment facilitator name, in full or in abbreviated form, must be three, seven, or twelve characters in length, followed by an asterisk and the sub-merchant name. Example: PayFacs*SubMerchant

For Visa Marketplaces

Either : Includes the marketplace name, in full or in abbreviated form, followed by an asterisk and the retailer name. Example: Marketplace*Retailer

OR : Includes the marketplace name only

Note: Formats mentioned above are in the RS2Host specification format. RS2 handles the internal conversion to ensure compliance with the card scheme format depending on the card organization applicable for the transaction.

subMerchantCity
string (13)

Indicates the city location of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

subMerchantCountry
string (3)

Indicates the country code, using ISO-3 letter format, of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

paymentFacilitatorId
string (11)
required

This attribute contains the Payment Facilitator ID/Marketplace ID assigned by the card scheme.

Note 1: As of October 2020 Marketplace is only supported by VISA.

independentSalesOrganisationId
string (11)

This attribute contains the Independent Sales Organization ID assigned by the card scheme.

subMerchantId
string (15)
required

This attribute contains the Merchant ID of the sub-merchant.

Note: This is also referred to as Sponsored Merchant ID.

subMerchantStreet
string (48)
required

This attribute contains the card acceptor street for the sub-merchant or Amex OptBlue participant.

subMerchantPostCode
string (10)
required

This attribute indicates the geographic code of the sub-merchant’s location.

When it is present in a Brazilian Visa transaction, this subfield contains the 8-character numeric postal code.

subMerchantPanEntry
string (1)
required

The terminal entry capability for sub-merchant terminal:

  • 0 unknown
  • 1 manual, no terminal

Refer to API Data Mapping documentation for list of terminal entry capability available for the institution.

subMerchantTaxId
string (15)

Sub-merchant Tax ID.

This field can also be used for the Brazil sub-merchant tax ID to be sent for Brazil Visa and ELO transactions.

subMerchantVatCategory
string (2)

This attribute contains the Argentina sub-merchant tax category id to be sent for Argentina Mastercard Domestic transactions. Valid values are:

  • 01 Registered Taxpayer
  • 02 Subject not Categorized
  • 03 Exempt
  • 08 Single Taxpayer
  • 09 Not Registered Taxpayer (Re-categorized Form 560/F AFIP) Non-Registered Taxpayer (Recategorized Form 560/F AFIP))
foreignRetailerIndicator
string (1)

Only applicable in case of a Visa Marketplace transaction:

  • Not included if retailer is in the same country as the acquirer
  • F’ In case the the retailer is located in a different country
state
string (3)

State of the sub-merchant. Used by MasterCard/AMEX/Discover only.

email
string (40)

Email of sub-merchant or Amex OptBlue Participant.

telephoneNumber
string (20)

Sub-merchant telephone number available for Mastercard / AMEX / Discover. Required by Mastercard in case URL is not available.

This attribute can also be used for Amex: OptBlue Participants and Bill Payment Providers as well.

Amex Supports up to 20 characters. MasterCard/Visa/Discover support up to 16 characters.

For a limited time period, this attribute can be used to supply the merchant\’s service telephone number in case of a MasterCard merchant not having the service telephone number stored in BankWORKS.

url
string (97)

Represents the sub-merchant website address.

Required by MasterCard for eCommerce transactions and in case a service telephone number (paymentFacilitator.telephoneNumber) is not available.

For a limited time period, this attribute can be used to supply the merchant’s URL in case of a MasterCard merchant not having the URL stored in BankWORKS.

subMerchantMcc
string (4)

To be provided on in case of a transaction initiated by a payment facilitator.

Refer to API Data Mapping documentation for list of MCCs available for the institution.

serviceLocation
object

The service location object is used to pass service location data related to the transaction as required by MasterCard.

Service location data is applicable for:

  • E-commerce: electric vehicle charging or fuel purchase
  • E-commerce: In-store pickup
  • Ride-hailing (eCommerce app payment)
  • Onboard transit (eCommerce app payment)
Name Description
cityName
string (13)

Service location city name.

state
string (3)

Service location state (sub-country) code.

country
string (3)

Service location country code (ISO-3 letter format)

postCode
string (10)

Service location post code.

additionalAmounts
object

This object can be used in the request message of a pre-Authorization Incremental transaction to fill the total accumulated amount of the pre-authorization. When having an Incremental transaction this field is mandatory (with amountType value ‘56’) for Discover and Diners, however, it is optional for other card schemes.

This object is also used in the request message of MIT such as Recurring, Installment, Delayed Card Sale, Re-submission of Card Sale, No-Show Charge, and Unscheduled Payment to fill the amount requested in the original transaction. When having any of the mentioned MIT, this field is mandatory (with amountType value ‘57’) for Discover and Diners. However, it is optional for other card schemes.

Name Description
amountType
string (2)

Indicates the Valid Values:

  • 44 = Tip Amount

  • 56 = Total Accumulated Amount

  • 57 = Original MIT Amount

actualAmount
object

Represents the amount value of the amountType defined. Note that all the actual amount currencies MUST match. The maximum allowed length (including decimal points) is 12.

Relationships
merchant
required

Merchant who was linked to the payment facilitator from where the authorization originated.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type authorisations .

Marketplace

Marketplace - Purchase authorization; support for the payment facilitator object, which contains the values required for Marketplace authorization sent to BankWORKS for processing. The authorization must be linked to a merchant resource in BankWORKS.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/authorisations

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type authorisations with the following attributes:

Name Description
cardNumber
string (19)
required

The cardholder’s card number. The value is returned in masked format.

To filter with this field, you will need to use the LIKE operator with wildcard(%25) and the last four digits of the card, together with a filter for other fields if needed.

  • filter[cardNumber][LIKE]=%258906
expiryDate
number (4)
required

The expiry date of the card in YYMM format.

messageTypeId
string (4)
required

‘0200’ must be provided to indicate a financial authorization.

transactionDate
date-time
required

Local date and time of the transaction originating at the point of service in ISO 8601 format.

transmissionDate
date-time

The transaction date and time at point of service in UTC 0, expressed in ISO 8601 format.

amount
object
required

Requested amount for this authorization. If the authorization will include a surcharge amount (provided in feeAmount), the amount attribute needs to include the full authorization amount, requested amount + the surcharge amount.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeAmount
object

The feeAmount can be used to add a surcharge fee to the transaction. The value accepts both a negative and positive value. A negative value indicates a credit to the cardholder. A positive value indicates a debit to the cardholder. To determine the authorisation amount the feeAmount can be added or subtracted to the amount value depending on the feeAmount sign.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

transactionType
string (2)
required

‘00’ must be provided to indicate a purchase transaction.

authIndicator
string (2)

Optional attribute. ‘R’ can be passed to indicate a recurring transaction.

additionalAuthIndicator
string (1)

This indicator can be used as an additional flag for specific authorization requests.

An example would be for merchants with terminals accepting partial authorizations, request would need to be provided with either 1 or 3 value.

Possible values:

  • 0 = Not applicable: Indicators not set in current transaction or field is not applicable

  • 1 = Terminal accepts partial authorization responses

  • 2 = Estimated amount and terminal does not support partial authorization responses

  • 3 = Estimated amount and terminal accepts partial authorization responses

networkTraceId
string (15)

This field contains the trace id / transaction identifier used by the card schemes to link subsequent transactions.

In the subsequent requests, RS2 should receive the original trace ID / transaction identifier returned in the response from the first authorization in a recurring series. This includes subsequent aggregate or incremental pre-authorizations, completions, recurring transactions and reversals.

In responses, RS2 will return the trace ID for each transaction as returned by the schemes, which may be different than the one sent in the request. API users are to store the networkTraceId value for subsequent transaction use.

Note: Currently, this field is returned for MasterCard, Visa, Discover, Diners and ELO transactions only

transactionInitiatorId
string (4)

Applicable for MasterCard recurring transactions. A four character value indicating the cardholder/merchant initiated transaction category and and indicator subcategory.
For example, C102 to indicate Cardholder Initiated, Standing Order (variable amount and fixed frequency).

List of possible values:

C1 - Cardholder Initiated

  • 01 - Credential-on-file (ad-hoc): Consumer agrees to store the credential on file with the merchant for future cardholder-initiated and/or merchant-initiated transactions that may occur from time to time, or consumer chooses to use a credential previously placed on file with the merchant when making a purchase.

  • 02 - Standing Order (variable amount and fixed frequency): Consumer agrees to store the credential-on-file and initiates a first transaction in a series intended to be for a variable amount and a fixed frequency.

  • 03 - Subscription (fixed amount and frequency): Consumer agrees to store the credential-on-file and initiates a first transaction in a series intended to be for a fixed amount and a fixed frequency.

M1 - Merchant Initiated Recurring Payment

  • 01 - Unscheduled Credential on File: A transaction made pursuant to an agreement between a cardholder and a merchant, whereby the cardholder authorizes the merchant to store and use the cardholder’s account data to initiate one or more future transactions. The transaction can be for a fixed or variable amount but does not occur at regular intervals on a scheduled date.

  • 02 - Standing Order (variable amount fixed frequency): A transaction made pursuant to an agreement between a cardholder and a merchant, whereby the cardholder authorizes the merchant to store and use the cardholder’s account data for a transaction that must occur at regularly scheduled intervals for a variable amount, as specified in the agreement.

  • 03 - Subscription (fixed amount and frequency): A transaction made pursuant to an agreement between a cardholder and a merchant, whereby the cardholder authorizes the merchant to store and use the cardholder’s account data for a transaction that must occur at regularly scheduled intervals for a fixed amount, as specified in the agreement. The subscription agreement may include an allowance for introductory pricing or for price changes to occur from time to time.

M2 - Merchant initiated Industry practice

  • 07 - No Show Charge: A penalty charged according to the merchant’s cancellation policy.

  • 08 - Resubmission: Previous attempt to obtain authorization for a transaction has been declined but the issuer’s response does not prohibit the merchant from trying again later.

paymentGatewayId
string (11)

Represents the MasterCard merchant payment gateway identifier registered with the card scheme. Should contain numeric value only up to 11 digits.

stan
string (6)

The System Trace Audit Number. A six digit code that must be unique for an online request. Used in conjunction with the transmissionDate and messageType ID to uniquely identify an authorisation.

externalReference
string (36)

A client-specific external identifier value. The value of the externalReference must be unique for each transaction.

eCom
object

Object containing eCommerce related attributes, for eCommerce transactions.

Name Description
cvc2
string (4)

The 3 or 4 digits card cvc2 security attribute.

3dSecure
string (42)

Multi-purpose data transport used to communicate cardholder authentication data between the cardholder, merchant, acquirer and issuer for e-commerce transactions.

Its presence is indicated by the securityLevelIndicator attribute.

The data to be passed must be as specified in the Card Organisation online specification manual. For further details please refer to:

  • Diners/Discover/ELO DE 122 AN(…42)

  • MCR DE 48.43 ANS(…32)

  • VISA DE 126.9 H(40)

  • AMEX DE 61.5 H(40)

xid
string (42)

The Universal Cardholder Authentication Field value used for 3D secure transport. Applicable for VISA authorisations only.

securityLevelIndicator
string (3)

Indicates if the eCommerce channel is encrypted and if UCAF is supported or not by the merchant. The below positions 1, 2 and 3 indicate the options of the secure level indicator.

  • 21x - Channel Encrypted
  • 22x - Encrypted MasterPass
  • 91x - No Security Protocol (9xx - No security protocol cannot be used for MasterCard transactions)
  • xx0 - UCAF not supported
  • xx1 - UCAF supported
  • xx2 - UCAF present
  • xx4 - UCAF present with Insights AAV for MasterCard Identity Check
cvc2ResultCode
string (1)

Indicates response of CVC2 check.

  • M - Match
  • P - Not Processed
  • S - CVV2 should be on the card, but merchant indicated that it was not
  • U - Unknown/Issuer does not participate
  • X - Server provider did not respond
psd2ExemptionFlag
string (2)

Valid values:

  • 01 = Merchant Initiated Transaction

  • 02 = Transaction passed a risk analysis

  • 03 = Low Value Payment

  • 04 = SCA delegated

  • 05 = Secure Corporate Payment

  • 06 = Trusted Merchant

  • 07 = Authentication Outage Exception (Currently Mastercard only supported)

3dSecVersion
string (1)

The 3DSecure Version indicates the program protocol being used. The character is the 3D Secure version number. Applicable for MasterCard 3D secure transactions only.

  • 1 = EMV 3-D Secure Version 2.1

  • 2 = EMV 3-D Secure Version 2.2

  • 3 = EMV 3-D Secure Version 2.3

  • 4 = EMV 3-D Secure Version 2.4

  • 5 = EMV 3-D Secure Version 2.5

  • 6 = EMV 3-D Secure Version 2.6

  • 7 = EMV 3-D Secure Version 2.7

  • 8 = EMV 3-D Secure Version 2.8

  • 9 = EMV 3-D Secure Version 2.9

3dSec2DirSerTranId
string (36)

MasterCard only. Applicable for 3D Secure Version 2.0 onwards. Indicates the Directory Server Transaction ID provided by the authentication server. For example:

f38e6948-5388-41a6-bca4-b49723c19437.

3dSecResponse
string (1)

Accountholder Authentication Value (AAV) which contains the result of the 3DS verification. Applicable for VISA and Mastercard only. Possible response:

  • 0 = AAV verification not performed/not supported by issuer

  • 1 = AAV verification success

  • 2 = AAV verification failure

  • 3 = AAV verification expected but not performed

  • 4 = AAV verification failure - Invalid Security Level Indicator

pos
object
required

Object containing point of service specific attributes.

Name Description
terminalId
string (8)

An 8-character value identifying the transaction point of service. This value may be required in certain scenarios for transactions to be cleared. If not provided the value defaults to a ‘0AUTHAPI’ value.

panEntry
string (3)

PAN entry mode

  • 010 - Manual
posCondition
string (2)

2-digit ISO value that is used to identify the point of service event of the authorization.

  • 59 - eCommerce
  • 07 - Phone/ARU order
  • 08 - Mail order
avs
object

Object containing Address Verification System attributes

Name Description
postCode
string (9)

Cardholder postcode, for AVS verification, up to 9 characters

streetAddress
string (20)

Cardholder street information for AVS verficiation, up to 20 characters. Alphabetic numbers should be sent in a numeric format. For example, ‘1 second avenue’ should be sent as ‘1 2nd avenue’

response
string (1)

AVS Response.

Address Verification Service Response Visa:

  • A - Street address: MATCH

  • B - N/A

  • M - Post code: MATCH, Street address: MATCH

  • N - Post code MISTMATCH, Street address MISMATCH

  • P - N/A

  • R - Post code: RETRY, Street address: SYSTEM UNAVAILABLE

  • U - Post code: NOT VERIFIED, Street address: NOT VERIFIED

  • Z - Post code: MATCH

Address Verification Service Response Other Card Schemes:

  • A - Post code MISMATCH, Street address MATCH
  • B - Post code NOT VERIFIED, Street address MATCH
  • M - Post code MATCH, Street address MATCH
  • N - Post code MISTMATCH, Street address MISMATCH
  • P - Post code MATCH, Street adress NOT VERIFIED
  • R - RETRY;SYSTEM, Street address UNAVAILABLE
  • U - Post code NOT VERIFIED, Street address NOT VERIFIED
  • Z - Post code MATCH, street address MISMATCH
india
object

Object containing attributes that must be provided for recurring payments initiated on India issued cards (VISA only). This is only used for POST request and will not be returned to the response.

Name Description
recurringPaymentType
string (1)

Indicates the type of recurring payment.

Valid values:

  • 1 - Registration / First transaction

  • 2 - Subsequent transaction

  • 3 - Modification

  • 4 - Cancellation (only applicable for messageType 0100 authorization request)

paymentAmountIndicator
string (1)

The indicator per recurring payment transaction. Valid values:

  • 1 - Fixed amount recurring payment

  • 2 - Recurring payment with maximum amount

recurringPaymentNumber
string (2)

Contains a value ranging from 01–99 that helps the issuer to identify total number of recurring debits for that cardholder has agreed with merchant. Value of 99 means that recurring payments are authorized until canceled or that the Number of Recurring Payments is not defined.

recurringPaymentFrequency
string (2)

Indicates the frequency of payment. Valid values are:

  • 01 - Daily,

  • 02 - Twice weekly,

  • 03 - Weekly,

  • 04 - Ten days,

  • 05 - Fortnightly,

  • 06 - Monthly,

  • 07 - Every 2 months,

  • 08 - Trimester,

  • 09 - Quarterly,

  • 10 - Twice yearly,

  • 11 - Annually,

  • 12 - Unscheduled

registrationReference
string (35)

A unique reference number for the recurring payment transaction. Alphanumeric 35 value. The reference number needs to be provided by the merchant, the value is provided by the SI (Standing Instruction) provider that the merchant works with.

maxRecurringPaymentAmount
object

The maximum recurring payment account agreed to by the cardholder.

Object containing two additional attributes:

  • value The quantative decimal monetary amount (eg. 2.13)

  • currency The ISO 4217 currency code (eg. ‘EUR’)

validationIndicator
string (1)

This tag will contain a value that indicates whether or not the recurring payment transaction has been validated offline during registration.

  • 0 - Not validated

  • 1 - Validated

paymentFacilitator
object

Object containing attributes to support payment facilitator or marketplace requests.

Name Description
cardAcceptorName
string (25)
required

Only to be provided in case of transactions initiated by payment facilitator or marketplace. Do not send in case of regular merchants.

For Payment Facilitators

Includes the payment facilitator name, in full or in abbreviated form, must be three, seven, or twelve characters in length, followed by an asterisk and the sub-merchant name. Example: PayFacs*SubMerchant

For Visa Marketplaces

Either : Includes the marketplace name, in full or in abbreviated form, followed by an asterisk and the retailer name. Example: Marketplace*Retailer

OR : Includes the marketplace name only

Note: Formats mentioned above are in the RS2Host specification format. RS2 handles the internal conversion to ensure compliance with the card scheme format depending on the card organization applicable for the transaction.

subMerchantCity
string (13)

Indicates the city location of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

subMerchantCountry
string (3)

Indicates the country code, using ISO-3 letter format, of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

paymentFacilitatorId
string (11)
required

This attribute contains the Payment Facilitator ID/Marketplace ID assigned by the card scheme.

Note 1: As of October 2020 Marketplace is only supported by VISA.

independentSalesOrganisationId
string (11)

This attribute contains the Independent Sales Organization ID assigned by the card scheme.

subMerchantId
string (15)

This attribute contains the Merchant ID of the sub-merchant.

Note: This is also referred to as Sponsored Merchant ID.

subMerchantStreet
string (48)

This attribute contains the card acceptor street for the sub-merchant or Amex OptBlue participant.

subMerchantPostCode
string (10)

This attribute indicates the geographic code of the sub-merchant’s location.

When it is present in a Brazilian Visa transaction, this subfield contains the 8-character numeric postal code.

subMerchantPanEntry
string (1)

The terminal entry capability for sub-merchant terminal:

  • 0 unknown
  • 1 manual, no terminal

Refer to API Data Mapping documentation for list of terminal entry capability available for the institution.

subMerchantTaxId
string (15)

Sub-merchant Tax ID.

This field can also be used for the Brazil sub-merchant tax ID to be sent for Brazil Visa and ELO transactions.

subMerchantVatCategory
string (2)

This attribute contains the Argentina sub-merchant tax category id to be sent for Argentina Mastercard Domestic transactions. Valid values are:

  • 01 Registered Taxpayer
  • 02 Subject not Categorized
  • 03 Exempt
  • 08 Single Taxpayer
  • 09 Not Registered Taxpayer (Re-categorized Form 560/F AFIP) Non-Registered Taxpayer (Recategorized Form 560/F AFIP))
foreignRetailerIndicator
string (1)

Only applicable in case of a Visa Marketplace transaction:

  • Not included if retailer is in the same country as the acquirer
  • F’ In case the the retailer is located in a different country
state
string (3)

State of the sub-merchant. Used by MasterCard/AMEX/Discover only.

email
string (40)

Email of sub-merchant or Amex OptBlue Participant.

telephoneNumber
string (20)

Sub-merchant telephone number available for Mastercard / AMEX / Discover. Required by Mastercard in case URL is not available.

This attribute can also be used for Amex: OptBlue Participants and Bill Payment Providers as well.

Amex Supports up to 20 characters. MasterCard/Visa/Discover support up to 16 characters.

For a limited time period, this attribute can be used to supply the merchant\’s service telephone number in case of a MasterCard merchant not having the service telephone number stored in BankWORKS.

url
string (97)

Represents the sub-merchant website address.

Required by MasterCard for eCommerce transactions and in case a service telephone number (paymentFacilitator.telephoneNumber) is not available.

For a limited time period, this attribute can be used to supply the merchant’s URL in case of a MasterCard merchant not having the URL stored in BankWORKS.

subMerchantMcc
string (4)

To be provided on in case of a transaction initiated by a payment facilitator.

Refer to API Data Mapping documentation for list of MCCs available for the institution.

serviceLocation
object

The service location object is used to pass service location data related to the transaction as required by MasterCard.

Service location data is applicable for:

  • E-commerce: electric vehicle charging or fuel purchase
  • E-commerce: In-store pickup
  • Ride-hailing (eCommerce app payment)
  • Onboard transit (eCommerce app payment)
Name Description
cityName
string (13)

Service location city name.

state
string (3)

Service location state (sub-country) code.

country
string (3)

Service location country code (ISO-3 letter format)

postCode
string (10)

Service location post code.

additionalAmounts
object

This object can be used in the request message of a pre-Authorization Incremental transaction to fill the total accumulated amount of the pre-authorization. When having an Incremental transaction this field is mandatory (with amountType value ‘56’) for Discover and Diners, however, it is optional for other card schemes.

This object is also used in the request message of MIT such as Recurring, Installment, Delayed Card Sale, Re-submission of Card Sale, No-Show Charge, and Unscheduled Payment to fill the amount requested in the original transaction. When having any of the mentioned MIT, this field is mandatory (with amountType value ‘57’) for Discover and Diners. However, it is optional for other card schemes.

Name Description
amountType
string (2)

Indicates the Valid Values:

  • 44 = Tip Amount

  • 56 = Total Accumulated Amount

  • 57 = Original MIT Amount

actualAmount
object

Represents the amount value of the amountType defined. Note that all the actual amount currencies MUST match. The maximum allowed length (including decimal points) is 12.

Relationships
merchant
required

The merchant who owns the marketplaces from where the authorization originated.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type authorisations .

Amex OptBlue Merchant

This use case is intended to represent a simplfied card not present purchase transaction (message type 0200).  The attributes visible have been reduced to cover this particular use case.  Amex OptBlue merchants even if not linked to payment facilitators require additional attributes residing in the paymentFacilitator object to be provided.  These attributes would also apply if the authorization being sent is a pre-authorization or authorization.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/authorisations

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type authorisations with the following attributes:

Name Description
cardNumber
string (19)
required

The cardholder’s card number. The value is returned in masked format.

To filter with this field, you will need to use the LIKE operator with wildcard(%25) and the last four digits of the card, together with a filter for other fields if needed.

  • filter[cardNumber][LIKE]=%258906
expiryDate
number (4)
required

The expiry date of the card in YYMM format.

messageTypeId
string (4)
required

‘0200’ must be provided to indicate a financial authorization.

transactionDate
date-time
required

Local date and time of the transaction originating at the point of service in ISO 8601 format.

transmissionDate
date-time

The transaction date and time at point of service in UTC 0, expressed in ISO 8601 format.

amount
object
required

Requested amount for this authorization. If the authorization will include a surcharge amount (provided in feeAmount), the amount attribute needs to include the full authorization amount, requested amount + the surcharge amount.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeAmount
object

The feeAmount can be used to add a surcharge fee to the transaction. The value accepts both a negative and positive value. A negative value indicates a credit to the cardholder. A positive value indicates a debit to the cardholder. To determine the authorisation amount the feeAmount can be added or subtracted to the amount value depending on the feeAmount sign.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

transactionType
string (2)
required

‘00’ must be provided to indicate a purchase transaction.

authIndicator
string (2)

Optional attribute. Can be passed the following:

  • C = Credentials on file

  • R = Recurring Transaction

additionalAuthIndicator
string (1)

This indicator can be used as an additional flag for specific authorization requests.

An example would be for merchants with terminals accepting partial authorizations, request would need to be provided with either 1 or 3 value.

Possible values:

  • 0 = Not applicable: Indicators not set in current transaction or field is not applicable

  • 1 = Terminal accepts partial authorization responses

  • 2 = Estimated amount and terminal does not support partial authorization responses

  • 3 = Estimated amount and terminal accepts partial authorization responses

stan
string (6)

The System Trace Audit Number. A six digit code that must be unique for an online request. Used in conjunction with the transmissionDate and messageType ID to uniquely identify an authorisation.

externalReference
string (36)

A client-specific external identifier value. The value of the externalReference must be unique for each transaction.

eCom
object
required

Object containing eCommerce related attributes, for eCommerce transactions.

Name Description
cvc2
string (4)

The 3 or 4 digits card cvc2 security attribute.

3dSecure
string (42)

Multi-purpose data transport used to communicate cardholder authentication data between the cardholder, merchant, acquirer and issuer for e-commerce transactions.

Its presence is indicated by the securityLevelIndicator attribute.

The data to be passed must be as specified in the Card Organisation online specification manual. For further details please refer to:

  • AMEX DE 61.5 H(40)
securityLevelIndicator
string (3)
required

Indicates if the eCommerce channel is encrypted and if UCAF is supported or not by the merchant. The below positions 1, 2 and 3 indicate the options of the secure level indicator.

  • 21x - Channel Encrypted
  • 22x - Encrypted MasterPass
  • 91x - No Security Protocol (9xx - No security protocol cannot be used for MasterCard transactions)
  • xx0 - UCAF not supported
  • xx1 - UCAF supported
  • xx2 - UCAF present
  • xx4 - UCAF present with Insights AAV for MasterCard Identity Check
pos
object
required

Object containing point of service specific attributes.

Name Description
terminalId
string (8)

An 8-character value identifying the transaction point of service. This value may be required in certain scenarios for transactions to be cleared. If not provided the value defaults to a ‘0AUTHAPI’ value.

panEntry
string (3)

PAN entry mode

  • 010 - Manual
posCondition
string (2)
required

2-digit ISO value that is used to identify the point of service event of the authorization.

  • 59 - eCommerce
  • 07 - Phone/ARU order
  • 08 - Mail order
avs
object

Object containing Address Verification System attributes

Name Description
postCode
string (9)

Cardholder postcode, for AVS verification, up to 9 characters

streetAddress
string (20)

Cardholder street information for AVS verficiation, up to 20 characters. Alphabetic numbers should be sent in a numeric format. For example, ‘1 second avenue’ should be sent as ‘1 2nd avenue’

response
string (1)

AVS Response.

Address Verification Service Response Visa:

  • A - Street address: MATCH

  • B - N/A

  • M - Post code: MATCH, Street address: MATCH

  • N - Post code MISTMATCH, Street address MISMATCH

  • P - N/A

  • R - Post code: RETRY, Street address: SYSTEM UNAVAILABLE

  • U - Post code: NOT VERIFIED, Street address: NOT VERIFIED

  • Z - Post code: MATCH

Address Verification Service Response Other Card Schemes:

  • A - Post code MISMATCH, Street address MATCH
  • B - Post code NOT VERIFIED, Street address MATCH
  • M - Post code MATCH, Street address MATCH
  • N - Post code MISTMATCH, Street address MISMATCH
  • P - Post code MATCH, Street adress NOT VERIFIED
  • R - RETRY;SYSTEM, Street address UNAVAILABLE
  • U - Post code NOT VERIFIED, Street address NOT VERIFIED
  • Z - Post code MATCH, street address MISMATCH
paymentFacilitator
object
required

Although this use case is intended for OptBlue merchants not linked to payment facilitators, this object contains attributes that will need to be supplied for Amex OptBlue participants.

Name Description
subMerchantStreet
string (48)
required

This attribute contains the card acceptor street for the sub-merchant or Amex OptBlue participant.

email
string (40)
required

Email of sub-merchant or Amex OptBlue Participant.

telephoneNumber
string (20)
required

Sub-merchant telephone number available for Mastercard / AMEX / Discover. Required by Mastercard in case URL is not available.

This attribute can also be used for Amex: OptBlue Participants and Bill Payment Providers as well.

Amex Supports up to 20 characters. MasterCard/Visa/Discover support up to 16 characters.

For a limited time period, this attribute can be used to supply the merchant\’s service telephone number in case of a MasterCard merchant not having the service telephone number stored in BankWORKS.

additionalAmounts
object

This object can be used in the request message of a pre-Authorization Incremental transaction to fill the total accumulated amount of the pre-authorization. When having an Incremental transaction this field is mandatory (with amountType value ‘56’) for Discover and Diners, however, it is optional for other card schemes.

This object is also used in the request message of MIT such as Recurring, Installment, Delayed Card Sale, Re-submission of Card Sale, No-Show Charge, and Unscheduled Payment to fill the amount requested in the original transaction. When having any of the mentioned MIT, this field is mandatory (with amountType value ‘57’) for Discover and Diners. However, it is optional for other card schemes.

Name Description
amountType
string (2)

Indicates the Valid Values:

  • 44 = Tip Amount

  • 56 = Total Accumulated Amount

  • 57 = Original MIT Amount

actualAmount
object

Represents the amount value of the amountType defined. Note that all the actual amount currencies MUST match. The maximum allowed length (including decimal points) is 12.

Relationships
merchant
required

Linked merchant from where the authorization originated.

Response

Amex OptBlue Merchant - Status Code 201 : HTTP 201 (Created)

Amex OptBlue Merchant - Status Code 202 : HTTP 202 (Accepted)

Amex OptBlue Merchant - Merchant Not Found : HTTP 404 (Not Found)

Response body will contain the created JSON:API resource of type authorisations .

Partial Authorization

Partial purchase authorization supports the additional authorization indicator attribute for partial authorization by sending a value of 1. The authorization must be linked to a merchant resource in BankWORKS.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/authorisations

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type authorisations with the following attributes:

Name Description
cardNumber
string (19)
required

The cardholder’s card number. The value is returned in masked format.

To filter with this field, you will need to use the LIKE operator with wildcard(%25) and the last four digits of the card, together with a filter for other fields if needed.

  • filter[cardNumber][LIKE]=%258906
expiryDate
number (4)
required

The expiry date of the card in YYMM format.

messageTypeId
string (4)
required

‘0200’ must be provided to indicate a financial authorization.

transactionDate
date-time
required

Local date and time of the transaction originating at the point of service in ISO 8601 format.

transmissionDate
date-time

The transaction date and time at point of service in UTC 0, expressed in ISO 8601 format.

amount
object
required

Requested amount for this authorization. If the authorization will include a surcharge amount (provided in feeAmount), the amount attribute needs to include the full authorization amount, requested amount + the surcharge amount.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeAmount
object

The feeAmount can be used to add a surcharge fee to the transaction. The value accepts both a negative and positive value. A negative value indicates a credit to the cardholder. A positive value indicates a debit to the cardholder. To determine the authorisation amount the feeAmount can be added or subtracted to the amount value depending on the feeAmount sign.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

transactionType
string (2)
required

‘00’ must be provided to indicate a purchase transaction.

authIndicator
string (2)

Optional attribute. Can be passed the following:

  • C = Credentials on file

  • R = Recurring Transaction

Applicable to Diners / Discover only

  • L = Delayed Card Sale

  • E = Re-submission of Card Sale

  • N = No-Show Charge

  • U = Unscheduled Payment

Diners only

  • H = Re-authorization
additionalAuthIndicator
string (1)
required

This indicator can be used as an additional flag for specific authorization requests.

An example would be for merchants with terminals accepting partial authorizations, request would need to be provided with either 1 or 3 value.

Possible values:

  • 0 = Not applicable: Indicators not set in current transaction or field is not applicable

  • 1 = Terminal accepts partial authorization responses

  • 2 = Estimated amount and terminal does not support partial authorization responses

  • 3 = Estimated amount and terminal accepts partial authorization responses

networkTraceId
string (15)

This field contains the trace id / transaction identifier used by the card schemes to link subsequent transactions.

In the subsequent requests, RS2 should receive the original trace ID / transaction identifier returned in the response from the first authorization in a recurring series. This includes subsequent aggregate or incremental pre-authorizations, completions, recurring transactions and reversals.

In responses, RS2 will return the trace ID for each transaction as returned by the schemes, which may be different than the one sent in the request. API users are to store the networkTraceId value for subsequent transaction use.

Note: Currently, this field is returned for MasterCard, Visa, Discover, Diners and ELO transactions only

transactionInitiatorId
string (4)

Applicable for MasterCard recurring transactions. A four character value indicating the cardholder/merchant initiated transaction category and and indicator subcategory.
For example, C102 to indicate Cardholder Initiated, Standing Order (variable amount and fixed frequency).

List of possible values:

C1 - Cardholder Initiated

  • 01 - Credential-on-file (ad-hoc): Consumer agrees to store the credential on file with the merchant for future cardholder-initiated and/or merchant-initiated transactions that may occur from time to time, or consumer chooses to use a credential previously placed on file with the merchant when making a purchase.

  • 02 - Standing Order (variable amount and fixed frequency): Consumer agrees to store the credential-on-file and initiates a first transaction in a series intended to be for a variable amount and a fixed frequency.

  • 03 - Subscription (fixed amount and frequency): Consumer agrees to store the credential-on-file and initiates a first transaction in a series intended to be for a fixed amount and a fixed frequency.

M1 - Merchant Initiated Recurring Payment

  • 01 - Unscheduled Credential on File: A transaction made pursuant to an agreement between a cardholder and a merchant, whereby the cardholder authorizes the merchant to store and use the cardholder’s account data to initiate one or more future transactions. The transaction can be for a fixed or variable amount but does not occur at regular intervals on a scheduled date.

  • 02 - Standing Order (variable amount fixed frequency): A transaction made pursuant to an agreement between a cardholder and a merchant, whereby the cardholder authorizes the merchant to store and use the cardholder’s account data for a transaction that must occur at regularly scheduled intervals for a variable amount, as specified in the agreement.

  • 03 - Subscription (fixed amount and frequency): A transaction made pursuant to an agreement between a cardholder and a merchant, whereby the cardholder authorizes the merchant to store and use the cardholder’s account data for a transaction that must occur at regularly scheduled intervals for a fixed amount, as specified in the agreement. The subscription agreement may include an allowance for introductory pricing or for price changes to occur from time to time.

M2 - Merchant initiated Industry practice

  • 07 - No Show Charge: A penalty charged according to the merchant’s cancellation policy.

  • 08 - Resubmission: Previous attempt to obtain authorization for a transaction has been declined but the issuer’s response does not prohibit the merchant from trying again later.

paymentGatewayId
string (11)

Represents the MasterCard merchant payment gateway identifier registered with the card scheme. Should contain numeric value only up to 11 digits.

stan
string (6)

The System Trace Audit Number. A six digit code that must be unique for an online request. Used in conjunction with the transmissionDate and messageType ID to uniquely identify an authorisation.

externalReference
string (36)

A client-specific external identifier value. The value of the externalReference must be unique for each transaction.

eCom
object

Object containing eCommerce related attributes, for eCommerce transactions.

Name Description
cvc2
string (4)

The 3 or 4 digits card cvc2 security attribute.

3dSecure
string (42)

Multi-purpose data transport used to communicate cardholder authentication data between the cardholder, merchant, acquirer and issuer for e-commerce transactions.

Its presence is indicated by the securityLevelIndicator attribute.

The data to be passed must be as specified in the Card Organisation online specification manual. For further details please refer to:

  • Diners/Discover/ELO DE 122 AN(…42)

  • MCR DE 48.43 ANS(…32)

  • VISA DE 126.9 H(40)

  • AMEX DE 61.5 H(40)

xid
string (42)

The Universal Cardholder Authentication Field value used for 3D secure transport. Applicable for VISA authorisations only.

securityLevelIndicator
string (3)

Indicates if the eCommerce channel is encrypted and if UCAF is supported or not by the merchant. The below positions 1, 2 and 3 indicate the options of the secure level indicator.

  • 21x - Channel Encrypted
  • 22x - Encrypted MasterPass
  • 91x - No Security Protocol (9xx - No security protocol cannot be used for MasterCard transactions)
  • xx0 - UCAF not supported
  • xx1 - UCAF supported
  • xx2 - UCAF present
  • xx4 - UCAF present with Insights AAV for MasterCard Identity Check
cvc2ResultCode
string (1)

Indicates response of CVC2 check.

  • M - Match
  • P - Not Processed
  • S - CVV2 should be on the card, but merchant indicated that it was not
  • U - Unknown/Issuer does not participate
  • X - Server provider did not respond
psd2ExemptionFlag
string (2)

Valid values:

  • 01 = Merchant Initiated Transaction

  • 02 = Transaction passed a risk analysis

  • 03 = Low Value Payment

  • 04 = SCA delegated

  • 05 = Secure Corporate Payment

  • 06 = Trusted Merchant

  • 07 = Authentication Outage Exception (Currently Mastercard only supported)

3dSecVersion
string (1)

The 3DSecure Version indicates the program protocol being used. The character is the 3D Secure version number. Applicable for MasterCard 3D secure transactions only.

  • 1 = EMV 3-D Secure Version 2.1

  • 2 = EMV 3-D Secure Version 2.2

  • 3 = EMV 3-D Secure Version 2.3

  • 4 = EMV 3-D Secure Version 2.4

  • 5 = EMV 3-D Secure Version 2.5

  • 6 = EMV 3-D Secure Version 2.6

  • 7 = EMV 3-D Secure Version 2.7

  • 8 = EMV 3-D Secure Version 2.8

  • 9 = EMV 3-D Secure Version 2.9

3dSec2DirSerTranId
string (36)

MasterCard only. Applicable for 3D Secure Version 2.0 onwards. Indicates the Directory Server Transaction ID provided by the authentication server. For example:

f38e6948-5388-41a6-bca4-b49723c19437.

3dSecResponse
string (1)

Accountholder Authentication Value (AAV) which contains the result of the 3DS verification. Applicable for VISA and Mastercard only. Possible response:

  • 0 = AAV verification not performed/not supported by issuer

  • 1 = AAV verification success

  • 2 = AAV verification failure

  • 3 = AAV verification expected but not performed

  • 4 = AAV verification failure - Invalid Security Level Indicator

pos
object
required

Object containing point of service specific attributes.

Name Description
terminalId
string (8)

An 8-character value identifying the transaction point of service. This value may be required in certain scenarios for transactions to be cleared. If not provided the value defaults to a ‘0AUTHAPI’ value.

panEntry
string (3)

PAN entry mode

  • 010 - Manual
posCondition
string (2)
required

2-digit ISO value that is used to identify the point of service event of the authorization.

  • 59 - eCommerce
  • 07 - Phone/ARU order
  • 08 - Mail order
avs
object

Object containing Address Verification System attributes

Name Description
postCode
string (9)

Cardholder postcode, for AVS verification, up to 9 characters

streetAddress
string (20)

Cardholder street information for AVS verficiation, up to 20 characters. Alphabetic numbers should be sent in a numeric format. For example, ‘1 second avenue’ should be sent as ‘1 2nd avenue’

response
string (1)

AVS Response.

Address Verification Service Response Visa:

  • A - Street address: MATCH

  • B - N/A

  • M - Post code: MATCH, Street address: MATCH

  • N - Post code MISTMATCH, Street address MISMATCH

  • P - N/A

  • R - Post code: RETRY, Street address: SYSTEM UNAVAILABLE

  • U - Post code: NOT VERIFIED, Street address: NOT VERIFIED

  • Z - Post code: MATCH

Address Verification Service Response Other Card Schemes:

  • A - Post code MISMATCH, Street address MATCH
  • B - Post code NOT VERIFIED, Street address MATCH
  • M - Post code MATCH, Street address MATCH
  • N - Post code MISTMATCH, Street address MISMATCH
  • P - Post code MATCH, Street adress NOT VERIFIED
  • R - RETRY;SYSTEM, Street address UNAVAILABLE
  • U - Post code NOT VERIFIED, Street address NOT VERIFIED
  • Z - Post code MATCH, street address MISMATCH
india
object

Object containing attributes that must be provided for recurring payments initiated on India issued cards (VISA only). This is only used for POST request and will not be returned to the response.

Name Description
recurringPaymentType
string (1)

Indicates the type of recurring payment.

Valid values:

  • 1 - Registration / First transaction

  • 2 - Subsequent transaction

  • 3 - Modification

  • 4 - Cancellation (only applicable for messageType 0100 authorization request)

paymentAmountIndicator
string (1)

The indicator per recurring payment transaction. Valid values:

  • 1 - Fixed amount recurring payment

  • 2 - Recurring payment with maximum amount

recurringPaymentNumber
string (2)

Contains a value ranging from 01–99 that helps the issuer to identify total number of recurring debits for that cardholder has agreed with merchant. Value of 99 means that recurring payments are authorized until canceled or that the Number of Recurring Payments is not defined.

recurringPaymentFrequency
string (2)

Indicates the frequency of payment. Valid values are:

  • 01 - Daily,

  • 02 - Twice weekly,

  • 03 - Weekly,

  • 04 - Ten days,

  • 05 - Fortnightly,

  • 06 - Monthly,

  • 07 - Every 2 months,

  • 08 - Trimester,

  • 09 - Quarterly,

  • 10 - Twice yearly,

  • 11 - Annually,

  • 12 - Unscheduled

registrationReference
string (35)

A unique reference number for the recurring payment transaction. Alphanumeric 35 value. The reference number needs to be provided by the merchant, the value is provided by the SI (Standing Instruction) provider that the merchant works with.

maxRecurringPaymentAmount
object

The maximum recurring payment account agreed to by the cardholder.

Object containing two additional attributes:

  • value The quantative decimal monetary amount (eg. 2.13)

  • currency The ISO 4217 currency code (eg. ‘EUR’)

validationIndicator
string (1)

This tag will contain a value that indicates whether or not the recurring payment transaction has been validated offline during registration.

  • 0 - Not validated

  • 1 - Validated

paymentFacilitator
object

Object containing attributes to support payment facilitator or marketplace requests.

Name Description
cardAcceptorName
string (25)

Only to be provided in case of transactions initiated by payment facilitator or marketplace. Do not send in case of regular merchants.

For Payment Facilitators

Includes the payment facilitator name, in full or in abbreviated form, must be three, seven, or twelve characters in length, followed by an asterisk and the sub-merchant name. Example: PayFacs*SubMerchant

For Visa Marketplaces

Either : Includes the marketplace name, in full or in abbreviated form, followed by an asterisk and the retailer name. Example: Marketplace*Retailer

OR : Includes the marketplace name only

Note: Formats mentioned above are in the RS2Host specification format. RS2 handles the internal conversion to ensure compliance with the card scheme format depending on the card organization applicable for the transaction.

subMerchantCity
string (13)

Indicates the city location of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

subMerchantCountry
string (3)

Indicates the country code, using ISO-3 letter format, of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

paymentFacilitatorId
string (11)

This attribute contains the Payment Facilitator ID/Marketplace ID assigned by the card scheme.

Note 1: As of October 2020 Marketplace is only supported by VISA.

independentSalesOrganisationId
string (11)

This attribute contains the Independent Sales Organization ID assigned by the card scheme.

subMerchantId
string (15)

This attribute contains the Merchant ID of the sub-merchant.

Note: This is also referred to as Sponsored Merchant ID.

subMerchantStreet
string (48)

This attribute contains the card acceptor street for the sub-merchant or Amex OptBlue participant.

subMerchantPostCode
string (10)

This attribute indicates the geographic code of the sub-merchant’s location.

When it is present in a Brazilian Visa transaction, this subfield contains the 8-character numeric postal code.

subMerchantPanEntry
string (1)

The terminal entry capability for sub-merchant terminal:

  • 0 unknown
  • 1 manual, no terminal

Refer to API Data Mapping documentation for list of terminal entry capability available for the institution.

subMerchantTaxId
string (15)

Sub-merchant Tax ID.

This field can also be used for the Brazil sub-merchant tax ID to be sent for Brazil Visa and ELO transactions.

subMerchantVatCategory
string (2)

This attribute contains the Argentina sub-merchant tax category id to be sent for Argentina Mastercard Domestic transactions. Valid values are:

  • 01 Registered Taxpayer
  • 02 Subject not Categorized
  • 03 Exempt
  • 08 Single Taxpayer
  • 09 Not Registered Taxpayer (Re-categorized Form 560/F AFIP) Non-Registered Taxpayer (Recategorized Form 560/F AFIP))
foreignRetailerIndicator
string (1)

Only applicable in case of a Visa Marketplace transaction:

  • Not included if retailer is in the same country as the acquirer
  • F’ In case the the retailer is located in a different country
state
string (3)

State of the sub-merchant. Used by MasterCard/AMEX/Discover only.

email
string (40)

Email of sub-merchant or Amex OptBlue Participant.

telephoneNumber
string (20)

Sub-merchant telephone number available for Mastercard / AMEX / Discover. Required by Mastercard in case URL is not available.

This attribute can also be used for Amex: OptBlue Participants and Bill Payment Providers as well.

Amex Supports up to 20 characters. MasterCard/Visa/Discover support up to 16 characters.

For a limited time period, this attribute can be used to supply the merchant\’s service telephone number in case of a MasterCard merchant not having the service telephone number stored in BankWORKS.

url
string (97)

Represents the sub-merchant website address.

Required by MasterCard for eCommerce transactions and in case a service telephone number (paymentFacilitator.telephoneNumber) is not available.

For a limited time period, this attribute can be used to supply the merchant’s URL in case of a MasterCard merchant not having the URL stored in BankWORKS.

subMerchantMcc
string (4)

To be provided on in case of a transaction initiated by a payment facilitator.

Refer to API Data Mapping documentation for list of MCCs available for the institution.

serviceLocation
object

The service location object is used to pass service location data related to the transaction as required by MasterCard.

Service location data is applicable for:

  • E-commerce: electric vehicle charging or fuel purchase
  • E-commerce: In-store pickup
  • Ride-hailing (eCommerce app payment)
  • Onboard transit (eCommerce app payment)
Name Description
cityName
string (13)

Service location city name.

state
string (3)

Service location state (sub-country) code.

country
string (3)

Service location country code (ISO-3 letter format)

postCode
string (10)

Service location post code.

additionalAmounts
object

This object can be used in the request message of a pre-Authorization Incremental transaction to fill the total accumulated amount of the pre-authorization. When having an Incremental transaction this field is mandatory (with amountType value ‘56’) for Discover and Diners, however, it is optional for other card schemes.

This object is also used in the request message of MIT such as Recurring, Installment, Delayed Card Sale, Re-submission of Card Sale, No-Show Charge, and Unscheduled Payment to fill the amount requested in the original transaction. When having any of the mentioned MIT, this field is mandatory (with amountType value ‘57’) for Discover and Diners. However, it is optional for other card schemes.

Name Description
amountType
string (2)

Indicates the Valid Values:

  • 44 = Tip Amount

  • 56 = Total Accumulated Amount

  • 57 = Original MIT Amount

actualAmount
object

Represents the amount value of the amountType defined. Note that all the actual amount currencies MUST match. The maximum allowed length (including decimal points) is 12.

Relationships
merchant
required

Linked merchant from where the authorization originated.

Response

Partial Authorization - Status Code 201 : HTTP 201 (Created)

Partial Authorization - Status Code 202 : HTTP 202 (Accepted)

Partial Authorization - Merchant Not Found : HTTP 404 (Not Found)

Response body will contain the created JSON:API resource of type authorisations .

Refund

Refund w/ card details

A refund is an 0200 message similar to a normal purchase authorization. This example contains a sample set of parameters than can be passed when creating a refund. Note that a refund is not the same as a reversal and is a separate transaction which may be (but not required to) related to the original authorization using the authorization code.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/authorisations

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type authorisations with the following attributes:

Name Description
cardNumber
string (19)
required

The cardholder’s card number. The value is returned in masked format.

To filter with this field, you will need to use the LIKE operator with wildcard(%25) and the last four digits of the card, together with a filter for other fields if needed.

  • filter[cardNumber][LIKE]=%258906
expiryDate
number (4)
required

The expiry date of the card in YYMM format.

messageTypeId
string (4)
required

‘0200’ must be provided to indicate a financial authorization.

transactionDate
date-time
required

Local date and time of the transaction originating at the point of service in ISO 8601 format.

transmissionDate
date-time

The transaction date and time at point of service in UTC 0, expressed in ISO 8601 format.

amount
object
required

Requested amount for this authorization. If the authorization will include a surcharge amount (provided in feeAmount), the amount attribute needs to include the full authorization amount, requested amount + the surcharge amount.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeAmount
object

The feeAmount can be used to add a surcharge fee to the transaction. The value accepts both a negative and positive value. A negative value indicates a credit to the cardholder. A positive value indicates a debit to the cardholder. To determine the authorisation amount the feeAmount can be added or subtracted to the amount value depending on the feeAmount sign.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

transactionType
string (2)
required

‘20’ must be provided to indicate a refund transaction.

paymentGatewayId
string (11)

Represents the MasterCard merchant payment gateway identifier registered with the card scheme. Should contain numeric value only up to 11 digits.

stan
string (6)

The System Trace Audit Number. A six digit code that must be unique for an online request. Used in conjunction with the transmissionDate and messageType ID to uniquely identify an authorisation.

externalReference
string (36)

A client-specific external identifier value. The value of the externalReference must be unique for each transaction.

eCom
object
required

Object containing eCommerce related attributes, for eCommerce transactions.

Name Description
cvc2
string (4)

The 3 or 4 digits card cvc2 security attribute.

3dSecure
string (42)

Multi-purpose data transport used to communicate cardholder authentication data between the cardholder, merchant, acquirer and issuer for e-commerce transactions.

Its presence is indicated by the securityLevelIndicator attribute.

The data to be passed must be as specified in the Card Organisation online specification manual. For further details please refer to:

  • Diners/Discover/ELO DE 122 AN(…42)

  • MCR DE 48.43 ANS(…32)

  • VISA DE 126.9 H(40)

  • AMEX DE 61.5 H(40)

xid
string (42)

The Universal Cardholder Authentication Field value used for 3D secure transport. Applicable for VISA authorisations only.

securityLevelIndicator
string (3)

Indicates if the eCommerce channel is encrypted and if UCAF is supported or not by the merchant. The below positions 1, 2 and 3 indicate the options of the secure level indicator.

  • 21x - Channel Encrypted
  • 22x - Encrypted MasterPass
  • 91x - No Security Protocol (9xx - No security protocol cannot be used for MasterCard transactions)
  • xx0 - UCAF not supported
  • xx1 - UCAF supported
  • xx2 - UCAF present
  • xx4 - UCAF present with Insights AAV for MasterCard Identity Check
cvc2ResultCode
string (1)

Indicates response of CVC2 check.

  • M - Match
  • P - Not Processed
  • S - CVV2 should be on the card, but merchant indicated that it was not
  • U - Unknown/Issuer does not participate
  • X - Server provider did not respond
psd2ExemptionFlag
string (2)

Valid values:

  • 01 = Merchant Initiated Transaction

  • 02 = Transaction passed a risk analysis

  • 03 = Low Value Payment

  • 04 = SCA delegated

  • 05 = Secure Corporate Payment

  • 06 = Trusted Merchant

  • 07 = Authentication Outage Exception (Currently Mastercard only supported)

3dSecVersion
string (1)

The 3DSecure Version indicates the program protocol being used. The character is the 3D Secure version number. Applicable for MasterCard 3D secure transactions only.

  • 1 = EMV 3-D Secure Version 2.1

  • 2 = EMV 3-D Secure Version 2.2

  • 3 = EMV 3-D Secure Version 2.3

  • 4 = EMV 3-D Secure Version 2.4

  • 5 = EMV 3-D Secure Version 2.5

  • 6 = EMV 3-D Secure Version 2.6

  • 7 = EMV 3-D Secure Version 2.7

  • 8 = EMV 3-D Secure Version 2.8

  • 9 = EMV 3-D Secure Version 2.9

3dSec2DirSerTranId
string (36)

MasterCard only. Applicable for 3D Secure Version 2.0 onwards. Indicates the Directory Server Transaction ID provided by the authentication server. For example:

f38e6948-5388-41a6-bca4-b49723c19437.

3dSecResponse
string (1)

Accountholder Authentication Value (AAV) which contains the result of the 3DS verification. Applicable for VISA and Mastercard only. Possible response:

  • 0 = AAV verification not performed/not supported by issuer

  • 1 = AAV verification success

  • 2 = AAV verification failure

  • 3 = AAV verification expected but not performed

  • 4 = AAV verification failure - Invalid Security Level Indicator

pos
object
required

Object containing point of service specific attributes.

Name Description
terminalId
string (8)

An 8-character value identifying the transaction point of service. This value may be required in certain scenarios for transactions to be cleared. If not provided the value defaults to a ‘0AUTHAPI’ value.

panEntry
string (3)

PAN entry mode

  • 010 - Manual
posCondition
string (2)

2-digit ISO value that is used to identify the point of service event of the authorization.

  • 59 - eCommerce
  • 07 - Phone/ARU order
  • 08 - Mail order
avs
object

Object containing Address Verification System attributes

Name Description
postCode
string (9)

Cardholder postcode, for AVS verification, up to 9 characters

streetAddress
string (20)

Cardholder street information for AVS verficiation, up to 20 characters. Alphabetic numbers should be sent in a numeric format. For example, ‘1 second avenue’ should be sent as ‘1 2nd avenue’

response
string (1)

AVS Response.

Address Verification Service Response Visa:

  • A - Street address: MATCH

  • B - N/A

  • M - Post code: MATCH, Street address: MATCH

  • N - Post code MISTMATCH, Street address MISMATCH

  • P - N/A

  • R - Post code: RETRY, Street address: SYSTEM UNAVAILABLE

  • U - Post code: NOT VERIFIED, Street address: NOT VERIFIED

  • Z - Post code: MATCH

Address Verification Service Response Other Card Schemes:

  • A - Post code MISMATCH, Street address MATCH
  • B - Post code NOT VERIFIED, Street address MATCH
  • M - Post code MATCH, Street address MATCH
  • N - Post code MISTMATCH, Street address MISMATCH
  • P - Post code MATCH, Street adress NOT VERIFIED
  • R - RETRY;SYSTEM, Street address UNAVAILABLE
  • U - Post code NOT VERIFIED, Street address NOT VERIFIED
  • Z - Post code MATCH, street address MISMATCH
india
object

Object containing attributes that must be provided for recurring payments initiated on India issued cards (VISA only). This is only used for POST request and will not be returned to the response.

Name Description
recurringPaymentType
string (1)

Indicates the type of recurring payment.

Valid values:

  • 1 - Registration / First transaction

  • 2 - Subsequent transaction

  • 3 - Modification

  • 4 - Cancellation (only applicable for messageType 0100 authorization request)

paymentAmountIndicator
string (1)

The indicator per recurring payment transaction. Valid values:

  • 1 - Fixed amount recurring payment

  • 2 - Recurring payment with maximum amount

recurringPaymentNumber
string (2)

Contains a value ranging from 01–99 that helps the issuer to identify total number of recurring debits for that cardholder has agreed with merchant. Value of 99 means that recurring payments are authorized until canceled or that the Number of Recurring Payments is not defined.

recurringPaymentFrequency
string (2)

Indicates the frequency of payment. Valid values are:

  • 01 - Daily,

  • 02 - Twice weekly,

  • 03 - Weekly,

  • 04 - Ten days,

  • 05 - Fortnightly,

  • 06 - Monthly,

  • 07 - Every 2 months,

  • 08 - Trimester,

  • 09 - Quarterly,

  • 10 - Twice yearly,

  • 11 - Annually,

  • 12 - Unscheduled

registrationReference
string (35)

A unique reference number for the recurring payment transaction. Alphanumeric 35 value. The reference number needs to be provided by the merchant, the value is provided by the SI (Standing Instruction) provider that the merchant works with.

maxRecurringPaymentAmount
object

The maximum recurring payment account agreed to by the cardholder.

Object containing two additional attributes:

  • value The quantative decimal monetary amount (eg. 2.13)

  • currency The ISO 4217 currency code (eg. ‘EUR’)

validationIndicator
string (1)

This tag will contain a value that indicates whether or not the recurring payment transaction has been validated offline during registration.

  • 0 - Not validated

  • 1 - Validated

paymentFacilitator
object

Object containing attributes to support payment facilitator or marketplace requests.

Name Description
cardAcceptorName
string (25)

Only to be provided in case of transactions initiated by payment facilitator or marketplace. Do not send in case of regular merchants.

For Payment Facilitators

Includes the payment facilitator name, in full or in abbreviated form, must be three, seven, or twelve characters in length, followed by an asterisk and the sub-merchant name. Example: PayFacs*SubMerchant

For Visa Marketplaces

Either : Includes the marketplace name, in full or in abbreviated form, followed by an asterisk and the retailer name. Example: Marketplace*Retailer

OR : Includes the marketplace name only

Note: Formats mentioned above are in the RS2Host specification format. RS2 handles the internal conversion to ensure compliance with the card scheme format depending on the card organization applicable for the transaction.

subMerchantCity
string (13)

Indicates the city location of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

subMerchantCountry
string (3)

Indicates the country code, using ISO-3 letter format, of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

paymentFacilitatorId
string (11)

This attribute contains the Payment Facilitator ID/Marketplace ID assigned by the card scheme.

Note 1: As of October 2020 Marketplace is only supported by VISA.

independentSalesOrganisationId
string (11)

This attribute contains the Independent Sales Organization ID assigned by the card scheme.

subMerchantId
string (15)

This attribute contains the Merchant ID of the sub-merchant.

Note: This is also referred to as Sponsored Merchant ID.

subMerchantStreet
string (48)

This attribute contains the card acceptor street for the sub-merchant or Amex OptBlue participant.

subMerchantPostCode
string (10)

This attribute indicates the geographic code of the sub-merchant’s location.

When it is present in a Brazilian Visa transaction, this subfield contains the 8-character numeric postal code.

subMerchantPanEntry
string (1)

The terminal entry capability for sub-merchant terminal:

  • 0 unknown
  • 1 manual, no terminal

Refer to API Data Mapping documentation for list of terminal entry capability available for the institution.

subMerchantTaxId
string (15)

Sub-merchant Tax ID.

This field can also be used for the Brazil sub-merchant tax ID to be sent for Brazil Visa and ELO transactions.

subMerchantVatCategory
string (2)

This attribute contains the Argentina sub-merchant tax category id to be sent for Argentina Mastercard Domestic transactions. Valid values are:

  • 01 Registered Taxpayer
  • 02 Subject not Categorized
  • 03 Exempt
  • 08 Single Taxpayer
  • 09 Not Registered Taxpayer (Re-categorized Form 560/F AFIP) Non-Registered Taxpayer (Recategorized Form 560/F AFIP))
foreignRetailerIndicator
string (1)

Only applicable in case of a Visa Marketplace transaction:

  • Not included if retailer is in the same country as the acquirer
  • F’ In case the the retailer is located in a different country
state
string (3)

State of the sub-merchant. Used by MasterCard/AMEX/Discover only.

email
string (40)

Email of sub-merchant or Amex OptBlue Participant.

telephoneNumber
string (20)

Sub-merchant telephone number available for Mastercard / AMEX / Discover. Required by Mastercard in case URL is not available.

This attribute can also be used for Amex: OptBlue Participants and Bill Payment Providers as well.

Amex Supports up to 20 characters. MasterCard/Visa/Discover support up to 16 characters.

For a limited time period, this attribute can be used to supply the merchant\’s service telephone number in case of a MasterCard merchant not having the service telephone number stored in BankWORKS.

url
string (97)

Represents the sub-merchant website address.

Required by MasterCard for eCommerce transactions and in case a service telephone number (paymentFacilitator.telephoneNumber) is not available.

For a limited time period, this attribute can be used to supply the merchant’s URL in case of a MasterCard merchant not having the URL stored in BankWORKS.

subMerchantMcc
string (4)

To be provided on in case of a transaction initiated by a payment facilitator.

Refer to API Data Mapping documentation for list of MCCs available for the institution.

serviceLocation
object

The service location object is used to pass service location data related to the transaction as required by MasterCard.

Service location data is applicable for:

  • E-commerce: electric vehicle charging or fuel purchase
  • E-commerce: In-store pickup
  • Ride-hailing (eCommerce app payment)
  • Onboard transit (eCommerce app payment)
Name Description
cityName
string (13)

Service location city name.

state
string (3)

Service location state (sub-country) code.

country
string (3)

Service location country code (ISO-3 letter format)

postCode
string (10)

Service location post code.

additionalAmounts
object

This object can be used in the request message of a pre-Authorization Incremental transaction to fill the total accumulated amount of the pre-authorization. When having an Incremental transaction this field is mandatory (with amountType value ‘56’) for Discover and Diners, however, it is optional for other card schemes.

This object is also used in the request message of MIT such as Recurring, Installment, Delayed Card Sale, Re-submission of Card Sale, No-Show Charge, and Unscheduled Payment to fill the amount requested in the original transaction. When having any of the mentioned MIT, this field is mandatory (with amountType value ‘57’) for Discover and Diners. However, it is optional for other card schemes.

Name Description
amountType
string (2)

Indicates the Valid Values:

  • 44 = Tip Amount

  • 56 = Total Accumulated Amount

  • 57 = Original MIT Amount

actualAmount
object

Represents the amount value of the amountType defined. Note that all the actual amount currencies MUST match. The maximum allowed length (including decimal points) is 12.

Relationships
merchant
required

Linked merchant from where the authorization originated.

Response

Refund w/ card details - Status Code 201 : HTTP 201 (Created)

Refund w/ card details - Status Code 202 : HTTP 202 (Accepted)

Response body will contain the created JSON:API resource of type authorisations .

Refund w/o card details

A refund is an 0200 message similar to a normal purchase authorization. This example contains a sample set of parameters that can be passed when creating a refund. Note that a refund is not the same as a reversal and is a separate transaction which may be (but not required to) related to the original authorization using the authorization code. The previous refund request shown, requires a cardnumber and expiry date to be included in the request, but a refund can also be requested by sending the originalAuth relation related to the purchase.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/authorisations

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type authorisations with the following attributes:

Name Description
messageTypeId
string (4)
required

‘0200’ must be provided to indicate a financial authorization.

transactionDate
date-time
required

Local date and time of the transaction originating at the point of service in ISO 8601 format.

transmissionDate
date-time

The transaction date and time at point of service in UTC 0, expressed in ISO 8601 format.

amount
object
required

Requested amount for this authorization. If the authorization will include a surcharge amount (provided in feeAmount), the amount attribute needs to include the full authorization amount, requested amount + the surcharge amount.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeAmount
object

The feeAmount can be used to add a surcharge fee to the transaction. The value accepts both a negative and positive value. A negative value indicates a credit to the cardholder. A positive value indicates a debit to the cardholder. To determine the authorisation amount the feeAmount can be added or subtracted to the amount value depending on the feeAmount sign.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

transactionType
string (2)
required

‘20’ must be provided to indicate a refund transaction.

paymentGatewayId
string (11)

Represents the MasterCard merchant payment gateway identifier registered with the card scheme. Should contain numeric value only up to 11 digits.

stan
string (6)

The System Trace Audit Number. A six digit code that must be unique for an online request. Used in conjunction with the transmissionDate and messageType ID to uniquely identify an authorisation.

externalReference
string (36)

A client-specific external identifier value. The value of the externalReference must be unique for each transaction.

eCom
object

Object containing eCommerce related attributes, for eCommerce transactions.

Name Description
cvc2
string (4)

The 3 or 4 digits card cvc2 security attribute.

3dSecure
string (42)

Multi-purpose data transport used to communicate cardholder authentication data between the cardholder, merchant, acquirer and issuer for e-commerce transactions.

Its presence is indicated by the securityLevelIndicator attribute.

The data to be passed must be as specified in the Card Organisation online specification manual. For further details please refer to:

  • Diners/Discover/ELO DE 122 AN(…42)

  • MCR DE 48.43 ANS(…32)

  • VISA DE 126.9 H(40)

  • AMEX DE 61.5 H(40)

xid
string (42)

The Universal Cardholder Authentication Field value used for 3D secure transport. Applicable for VISA authorisations only.

securityLevelIndicator
string (3)

Indicates if the eCommerce channel is encrypted and if UCAF is supported or not by the merchant. The below positions 1, 2 and 3 indicate the options of the secure level indicator.

  • 21x - Channel Encrypted
  • 22x - Encrypted MasterPass
  • 91x - No Security Protocol (9xx - No security protocol cannot be used for MasterCard transactions)
  • xx0 - UCAF not supported
  • xx1 - UCAF supported
  • xx2 - UCAF present
  • xx4 - UCAF present with Insights AAV for MasterCard Identity Check
cvc2ResultCode
string (1)

Indicates response of CVC2 check.

  • M - Match
  • P - Not Processed
  • S - CVV2 should be on the card, but merchant indicated that it was not
  • U - Unknown/Issuer does not participate
  • X - Server provider did not respond
psd2ExemptionFlag
string (2)

Valid values:

  • 01 = Merchant Initiated Transaction

  • 02 = Transaction passed a risk analysis

  • 03 = Low Value Payment

  • 04 = SCA delegated

  • 05 = Secure Corporate Payment

  • 06 = Trusted Merchant

  • 07 = Authentication Outage Exception (Currently Mastercard only supported)

3dSecVersion
string (1)

The 3DSecure Version indicates the program protocol being used. The character is the 3D Secure version number. Applicable for MasterCard 3D secure transactions only.

  • 1 = EMV 3-D Secure Version 2.1

  • 2 = EMV 3-D Secure Version 2.2

  • 3 = EMV 3-D Secure Version 2.3

  • 4 = EMV 3-D Secure Version 2.4

  • 5 = EMV 3-D Secure Version 2.5

  • 6 = EMV 3-D Secure Version 2.6

  • 7 = EMV 3-D Secure Version 2.7

  • 8 = EMV 3-D Secure Version 2.8

  • 9 = EMV 3-D Secure Version 2.9

3dSec2DirSerTranId
string (36)

MasterCard only. Applicable for 3D Secure Version 2.0 onwards. Indicates the Directory Server Transaction ID provided by the authentication server. For example:

f38e6948-5388-41a6-bca4-b49723c19437.

3dSecResponse
string (1)

Accountholder Authentication Value (AAV) which contains the result of the 3DS verification. Applicable for VISA and Mastercard only. Possible response:

  • 0 = AAV verification not performed/not supported by issuer

  • 1 = AAV verification success

  • 2 = AAV verification failure

  • 3 = AAV verification expected but not performed

  • 4 = AAV verification failure - Invalid Security Level Indicator

pos
object
required

Object containing point of service specific attributes.

Name Description
terminalId
string (8)

An 8-character value identifying the transaction point of service. This value may be required in certain scenarios for transactions to be cleared. If not provided the value defaults to a ‘0AUTHAPI’ value.

panEntry
string (3)

PAN entry mode

  • 010 - Manual
posCondition
string (2)

2-digit ISO value that is used to identify the point of service event of the authorization.

  • 59 - eCommerce
  • 07 - Phone/ARU order
  • 08 - Mail order
avs
object

Object containing Address Verification System attributes

Name Description
postCode
string (9)

Cardholder postcode, for AVS verification, up to 9 characters

streetAddress
string (20)

Cardholder street information for AVS verficiation, up to 20 characters. Alphabetic numbers should be sent in a numeric format. For example, ‘1 second avenue’ should be sent as ‘1 2nd avenue’

response
string (1)

AVS Response.

Address Verification Service Response Visa:

  • A - Street address: MATCH

  • B - N/A

  • M - Post code: MATCH, Street address: MATCH

  • N - Post code MISTMATCH, Street address MISMATCH

  • P - N/A

  • R - Post code: RETRY, Street address: SYSTEM UNAVAILABLE

  • U - Post code: NOT VERIFIED, Street address: NOT VERIFIED

  • Z - Post code: MATCH

Address Verification Service Response Other Card Schemes:

  • A - Post code MISMATCH, Street address MATCH
  • B - Post code NOT VERIFIED, Street address MATCH
  • M - Post code MATCH, Street address MATCH
  • N - Post code MISTMATCH, Street address MISMATCH
  • P - Post code MATCH, Street adress NOT VERIFIED
  • R - RETRY;SYSTEM, Street address UNAVAILABLE
  • U - Post code NOT VERIFIED, Street address NOT VERIFIED
  • Z - Post code MATCH, street address MISMATCH
india
object

Object containing attributes that must be provided for recurring payments initiated on India issued cards (VISA only). This is only used for POST request and will not be returned to the response.

Name Description
recurringPaymentType
string (1)

Indicates the type of recurring payment.

Valid values:

  • 1 - Registration / First transaction

  • 2 - Subsequent transaction

  • 3 - Modification

  • 4 - Cancellation (only applicable for messageType 0100 authorization request)

paymentAmountIndicator
string (1)

The indicator per recurring payment transaction. Valid values:

  • 1 - Fixed amount recurring payment

  • 2 - Recurring payment with maximum amount

recurringPaymentNumber
string (2)

Contains a value ranging from 01–99 that helps the issuer to identify total number of recurring debits for that cardholder has agreed with merchant. Value of 99 means that recurring payments are authorized until canceled or that the Number of Recurring Payments is not defined.

recurringPaymentFrequency
string (2)

Indicates the frequency of payment. Valid values are:

  • 01 - Daily,

  • 02 - Twice weekly,

  • 03 - Weekly,

  • 04 - Ten days,

  • 05 - Fortnightly,

  • 06 - Monthly,

  • 07 - Every 2 months,

  • 08 - Trimester,

  • 09 - Quarterly,

  • 10 - Twice yearly,

  • 11 - Annually,

  • 12 - Unscheduled

registrationReference
string (35)

A unique reference number for the recurring payment transaction. Alphanumeric 35 value. The reference number needs to be provided by the merchant, the value is provided by the SI (Standing Instruction) provider that the merchant works with.

maxRecurringPaymentAmount
object

The maximum recurring payment account agreed to by the cardholder.

Object containing two additional attributes:

  • value The quantative decimal monetary amount (eg. 2.13)

  • currency The ISO 4217 currency code (eg. ‘EUR’)

validationIndicator
string (1)

This tag will contain a value that indicates whether or not the recurring payment transaction has been validated offline during registration.

  • 0 - Not validated

  • 1 - Validated

paymentFacilitator
object

Object containing attributes to support payment facilitator or marketplace requests.

Name Description
cardAcceptorName
string (25)

Only to be provided in case of transactions initiated by payment facilitator or marketplace. Do not send in case of regular merchants.

For Payment Facilitators

Includes the payment facilitator name, in full or in abbreviated form, must be three, seven, or twelve characters in length, followed by an asterisk and the sub-merchant name. Example: PayFacs*SubMerchant

For Visa Marketplaces

Either : Includes the marketplace name, in full or in abbreviated form, followed by an asterisk and the retailer name. Example: Marketplace*Retailer

OR : Includes the marketplace name only

Note: Formats mentioned above are in the RS2Host specification format. RS2 handles the internal conversion to ensure compliance with the card scheme format depending on the card organization applicable for the transaction.

subMerchantCity
string (13)

Indicates the city location of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

subMerchantCountry
string (3)

Indicates the country code, using ISO-3 letter format, of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

paymentFacilitatorId
string (11)

This attribute contains the Payment Facilitator ID/Marketplace ID assigned by the card scheme.

Note 1: As of October 2020 Marketplace is only supported by VISA.

independentSalesOrganisationId
string (11)

This attribute contains the Independent Sales Organization ID assigned by the card scheme.

subMerchantId
string (15)

This attribute contains the Merchant ID of the sub-merchant.

Note: This is also referred to as Sponsored Merchant ID.

subMerchantStreet
string (48)

This attribute contains the card acceptor street for the sub-merchant or Amex OptBlue participant.

subMerchantPostCode
string (10)

This attribute indicates the geographic code of the sub-merchant’s location.

When it is present in a Brazilian Visa transaction, this subfield contains the 8-character numeric postal code.

subMerchantPanEntry
string (1)

The terminal entry capability for sub-merchant terminal:

  • 0 unknown
  • 1 manual, no terminal

Refer to API Data Mapping documentation for list of terminal entry capability available for the institution.

subMerchantTaxId
string (15)

Sub-merchant Tax ID.

This field can also be used for the Brazil sub-merchant tax ID to be sent for Brazil Visa and ELO transactions.

subMerchantVatCategory
string (2)

This attribute contains the Argentina sub-merchant tax category id to be sent for Argentina Mastercard Domestic transactions. Valid values are:

  • 01 Registered Taxpayer
  • 02 Subject not Categorized
  • 03 Exempt
  • 08 Single Taxpayer
  • 09 Not Registered Taxpayer (Re-categorized Form 560/F AFIP) Non-Registered Taxpayer (Recategorized Form 560/F AFIP))
foreignRetailerIndicator
string (1)

Only applicable in case of a Visa Marketplace transaction:

  • Not included if retailer is in the same country as the acquirer
  • F’ In case the the retailer is located in a different country
state
string (3)

State of the sub-merchant. Used by MasterCard/AMEX/Discover only.

email
string (40)

Email of sub-merchant or Amex OptBlue Participant.

telephoneNumber
string (20)

Sub-merchant telephone number available for Mastercard / AMEX / Discover. Required by Mastercard in case URL is not available.

This attribute can also be used for Amex: OptBlue Participants and Bill Payment Providers as well.

Amex Supports up to 20 characters. MasterCard/Visa/Discover support up to 16 characters.

For a limited time period, this attribute can be used to supply the merchant\’s service telephone number in case of a MasterCard merchant not having the service telephone number stored in BankWORKS.

url
string (97)

Represents the sub-merchant website address.

Required by MasterCard for eCommerce transactions and in case a service telephone number (paymentFacilitator.telephoneNumber) is not available.

For a limited time period, this attribute can be used to supply the merchant’s URL in case of a MasterCard merchant not having the URL stored in BankWORKS.

subMerchantMcc
string (4)

To be provided on in case of a transaction initiated by a payment facilitator.

Refer to API Data Mapping documentation for list of MCCs available for the institution.

serviceLocation
object

The service location object is used to pass service location data related to the transaction as required by MasterCard.

Service location data is applicable for:

  • E-commerce: electric vehicle charging or fuel purchase
  • E-commerce: In-store pickup
  • Ride-hailing (eCommerce app payment)
  • Onboard transit (eCommerce app payment)
Name Description
cityName
string (13)

Service location city name.

state
string (3)

Service location state (sub-country) code.

country
string (3)

Service location country code (ISO-3 letter format)

postCode
string (10)

Service location post code.

additionalAmounts
object

This object can be used in the request message of a pre-Authorization Incremental transaction to fill the total accumulated amount of the pre-authorization. When having an Incremental transaction this field is mandatory (with amountType value ‘56’) for Discover and Diners, however, it is optional for other card schemes.

This object is also used in the request message of MIT such as Recurring, Installment, Delayed Card Sale, Re-submission of Card Sale, No-Show Charge, and Unscheduled Payment to fill the amount requested in the original transaction. When having any of the mentioned MIT, this field is mandatory (with amountType value ‘57’) for Discover and Diners. However, it is optional for other card schemes.

Name Description
amountType
string (2)

Indicates the Valid Values:

  • 44 = Tip Amount

  • 56 = Total Accumulated Amount

  • 57 = Original MIT Amount

actualAmount
object

Represents the amount value of the amountType defined. Note that all the actual amount currencies MUST match. The maximum allowed length (including decimal points) is 12.

Relationships
merchant
required

Linked merchant from where the authorization originated.

originalAuth
required

Mandatory authorization linked to this refund.

Response

Refund w/o card details - Status Code 201 : HTTP 201 (Created)

Refund w/o card details - Status Code 202 : HTTP 202 (Accepted)

Response body will contain the created JSON:API resource of type authorisations .

Refund Payment Facilitator

A refund is an 0200 message similar to a normal purchase authorization. This example contains a sample set of parameters than can be passed when creating a refund. Note that a refund is not the same as a reversal and is a separate transaction which may be (but not required to) related to the original authorization using the authorization code.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/authorisations

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type authorisations with the following attributes:

Name Description
cardNumber
string (19)
required

The cardholder’s card number. The value is returned in masked format.

To filter with this field, you will need to use the LIKE operator with wildcard(%25) and the last four digits of the card, together with a filter for other fields if needed.

  • filter[cardNumber][LIKE]=%258906
expiryDate
number (4)
required

The expiry date of the card in YYMM format.

messageTypeId
string (4)
required

‘0200’ must be provided to indicate a financial authorization.

transactionDate
date-time
required

Local date and time of the transaction originating at the point of service in ISO 8601 format.

transmissionDate
date-time

The transaction date and time at point of service in UTC 0, expressed in ISO 8601 format.

amount
object
required

Requested amount for this authorization. If the authorization will include a surcharge amount (provided in feeAmount), the amount attribute needs to include the full authorization amount, requested amount + the surcharge amount.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeAmount
object

The feeAmount can be used to add a surcharge fee to the transaction. The value accepts both a negative and positive value. A negative value indicates a credit to the cardholder. A positive value indicates a debit to the cardholder. To determine the authorisation amount the feeAmount can be added or subtracted to the amount value depending on the feeAmount sign.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

transactionType
string (2)
required

‘20’ must be provided to indicate a refund transaction.

paymentGatewayId
string (11)

Represents the MasterCard merchant payment gateway identifier registered with the card scheme. Should contain numeric value only up to 11 digits.

stan
string (6)

The System Trace Audit Number. A six digit code that must be unique for an online request. Used in conjunction with the transmissionDate and messageType ID to uniquely identify an authorisation.

externalReference
string (36)

A client-specific external identifier value. The value of the externalReference must be unique for each transaction.

eCom
object
required

Object containing eCommerce related attributes, for eCommerce transactions.

Name Description
cvc2
string (4)

The 3 or 4 digits card cvc2 security attribute.

3dSecure
string (42)

Multi-purpose data transport used to communicate cardholder authentication data between the cardholder, merchant, acquirer and issuer for e-commerce transactions.

Its presence is indicated by the securityLevelIndicator attribute.

The data to be passed must be as specified in the Card Organisation online specification manual. For further details please refer to:

  • Diners/Discover/ELO DE 122 AN(…42)

  • MCR DE 48.43 ANS(…32)

  • VISA DE 126.9 H(40)

  • AMEX DE 61.5 H(40)

xid
string (42)

The Universal Cardholder Authentication Field value used for 3D secure transport. Applicable for VISA authorisations only.

securityLevelIndicator
string (3)

Indicates if the eCommerce channel is encrypted and if UCAF is supported or not by the merchant. The below positions 1, 2 and 3 indicate the options of the secure level indicator.

  • 21x - Channel Encrypted
  • 22x - Encrypted MasterPass
  • 91x - No Security Protocol (9xx - No security protocol cannot be used for MasterCard transactions)
  • xx0 - UCAF not supported
  • xx1 - UCAF supported
  • xx2 - UCAF present
  • xx4 - UCAF present with Insights AAV for MasterCard Identity Check
cvc2ResultCode
string (1)

Indicates response of CVC2 check.

  • M - Match
  • P - Not Processed
  • S - CVV2 should be on the card, but merchant indicated that it was not
  • U - Unknown/Issuer does not participate
  • X - Server provider did not respond
psd2ExemptionFlag
string (2)

Valid values:

  • 01 = Merchant Initiated Transaction

  • 02 = Transaction passed a risk analysis

  • 03 = Low Value Payment

  • 04 = SCA delegated

  • 05 = Secure Corporate Payment

  • 06 = Trusted Merchant

  • 07 = Authentication Outage Exception (Currently Mastercard only supported)

3dSecVersion
string (1)

The 3DSecure Version indicates the program protocol being used. The character is the 3D Secure version number. Applicable for MasterCard 3D secure transactions only.

  • 1 = EMV 3-D Secure Version 2.1

  • 2 = EMV 3-D Secure Version 2.2

  • 3 = EMV 3-D Secure Version 2.3

  • 4 = EMV 3-D Secure Version 2.4

  • 5 = EMV 3-D Secure Version 2.5

  • 6 = EMV 3-D Secure Version 2.6

  • 7 = EMV 3-D Secure Version 2.7

  • 8 = EMV 3-D Secure Version 2.8

  • 9 = EMV 3-D Secure Version 2.9

3dSec2DirSerTranId
string (36)

MasterCard only. Applicable for 3D Secure Version 2.0 onwards. Indicates the Directory Server Transaction ID provided by the authentication server. For example:

f38e6948-5388-41a6-bca4-b49723c19437.

3dSecResponse
string (1)

Accountholder Authentication Value (AAV) which contains the result of the 3DS verification. Applicable for VISA and Mastercard only. Possible response:

  • 0 = AAV verification not performed/not supported by issuer

  • 1 = AAV verification success

  • 2 = AAV verification failure

  • 3 = AAV verification expected but not performed

  • 4 = AAV verification failure - Invalid Security Level Indicator

pos
object
required

Object containing point of service specific attributes.

Name Description
terminalId
string (8)

An 8-character value identifying the transaction point of service. This value may be required in certain scenarios for transactions to be cleared. If not provided the value defaults to a ‘0AUTHAPI’ value.

panEntry
string (3)

PAN entry mode

  • 010 - Manual
posCondition
string (2)

2-digit ISO value that is used to identify the point of service event of the authorization.

  • 59 - eCommerce
  • 07 - Phone/ARU order
  • 08 - Mail order
avs
object

Object containing Address Verification System attributes

Name Description
postCode
string (9)

Cardholder postcode, for AVS verification, up to 9 characters

streetAddress
string (20)

Cardholder street information for AVS verficiation, up to 20 characters. Alphabetic numbers should be sent in a numeric format. For example, ‘1 second avenue’ should be sent as ‘1 2nd avenue’

response
string (1)

AVS Response.

Address Verification Service Response Visa:

  • A - Street address: MATCH

  • B - N/A

  • M - Post code: MATCH, Street address: MATCH

  • N - Post code MISTMATCH, Street address MISMATCH

  • P - N/A

  • R - Post code: RETRY, Street address: SYSTEM UNAVAILABLE

  • U - Post code: NOT VERIFIED, Street address: NOT VERIFIED

  • Z - Post code: MATCH

Address Verification Service Response Other Card Schemes:

  • A - Post code MISMATCH, Street address MATCH
  • B - Post code NOT VERIFIED, Street address MATCH
  • M - Post code MATCH, Street address MATCH
  • N - Post code MISTMATCH, Street address MISMATCH
  • P - Post code MATCH, Street adress NOT VERIFIED
  • R - RETRY;SYSTEM, Street address UNAVAILABLE
  • U - Post code NOT VERIFIED, Street address NOT VERIFIED
  • Z - Post code MATCH, street address MISMATCH
india
object

Object containing attributes that must be provided for recurring payments initiated on India issued cards (VISA only). This is only used for POST request and will not be returned to the response.

Name Description
recurringPaymentType
string (1)

Indicates the type of recurring payment.

Valid values:

  • 1 - Registration / First transaction

  • 2 - Subsequent transaction

  • 3 - Modification

  • 4 - Cancellation (only applicable for messageType 0100 authorization request)

paymentAmountIndicator
string (1)

The indicator per recurring payment transaction. Valid values:

  • 1 - Fixed amount recurring payment

  • 2 - Recurring payment with maximum amount

recurringPaymentNumber
string (2)

Contains a value ranging from 01–99 that helps the issuer to identify total number of recurring debits for that cardholder has agreed with merchant. Value of 99 means that recurring payments are authorized until canceled or that the Number of Recurring Payments is not defined.

recurringPaymentFrequency
string (2)

Indicates the frequency of payment. Valid values are:

  • 01 - Daily,

  • 02 - Twice weekly,

  • 03 - Weekly,

  • 04 - Ten days,

  • 05 - Fortnightly,

  • 06 - Monthly,

  • 07 - Every 2 months,

  • 08 - Trimester,

  • 09 - Quarterly,

  • 10 - Twice yearly,

  • 11 - Annually,

  • 12 - Unscheduled

registrationReference
string (35)

A unique reference number for the recurring payment transaction. Alphanumeric 35 value. The reference number needs to be provided by the merchant, the value is provided by the SI (Standing Instruction) provider that the merchant works with.

maxRecurringPaymentAmount
object

The maximum recurring payment account agreed to by the cardholder.

Object containing two additional attributes:

  • value The quantative decimal monetary amount (eg. 2.13)

  • currency The ISO 4217 currency code (eg. ‘EUR’)

validationIndicator
string (1)

This tag will contain a value that indicates whether or not the recurring payment transaction has been validated offline during registration.

  • 0 - Not validated

  • 1 - Validated

paymentFacilitator
object

Object containing attributes to support payment facilitator or marketplace requests.

Name Description
cardAcceptorName
string (25)
required

Only to be provided in case of transactions initiated by payment facilitator or marketplace. Do not send in case of regular merchants.

For Payment Facilitators

Includes the payment facilitator name, in full or in abbreviated form, must be three, seven, or twelve characters in length, followed by an asterisk and the sub-merchant name. Example: PayFacs*SubMerchant

For Visa Marketplaces

Either : Includes the marketplace name, in full or in abbreviated form, followed by an asterisk and the retailer name. Example: Marketplace*Retailer

OR : Includes the marketplace name only

Note: Formats mentioned above are in the RS2Host specification format. RS2 handles the internal conversion to ensure compliance with the card scheme format depending on the card organization applicable for the transaction.

subMerchantCity
string (13)

Indicates the city location of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

subMerchantCountry
string (3)

Indicates the country code, using ISO-3 letter format, of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

paymentFacilitatorId
string (11)
required

This attribute contains the Payment Facilitator ID/Marketplace ID assigned by the card scheme.

Note 1: As of October 2020 Marketplace is only supported by VISA.

independentSalesOrganisationId
string (11)

This attribute contains the Independent Sales Organization ID assigned by the card scheme.

subMerchantId
string (15)
required

This attribute contains the Merchant ID of the sub-merchant.

Note: This is also referred to as Sponsored Merchant ID.

subMerchantStreet
string (48)
required

This attribute contains the card acceptor street for the sub-merchant or Amex OptBlue participant.

subMerchantPostCode
string (10)
required

This attribute indicates the geographic code of the sub-merchant’s location.

When it is present in a Brazilian Visa transaction, this subfield contains the 8-character numeric postal code.

subMerchantPanEntry
string (1)
required

The terminal entry capability for sub-merchant terminal:

  • 0 unknown
  • 1 manual, no terminal

Refer to API Data Mapping documentation for list of terminal entry capability available for the institution.

subMerchantTaxId
string (15)

Sub-merchant Tax ID.

This field can also be used for the Brazil sub-merchant tax ID to be sent for Brazil Visa and ELO transactions.

subMerchantVatCategory
string (2)

This attribute contains the Argentina sub-merchant tax category id to be sent for Argentina Mastercard Domestic transactions. Valid values are:

  • 01 Registered Taxpayer
  • 02 Subject not Categorized
  • 03 Exempt
  • 08 Single Taxpayer
  • 09 Not Registered Taxpayer (Re-categorized Form 560/F AFIP) Non-Registered Taxpayer (Recategorized Form 560/F AFIP))
foreignRetailerIndicator
string (1)

Only applicable in case of a Visa Marketplace transaction:

  • Not included if retailer is in the same country as the acquirer
  • F’ In case the the retailer is located in a different country
state
string (3)

State of the sub-merchant. Used by MasterCard/AMEX/Discover only.

email
string (40)

Email of sub-merchant or Amex OptBlue Participant.

telephoneNumber
string (20)

Sub-merchant telephone number available for Mastercard / AMEX / Discover. Required by Mastercard in case URL is not available.

This attribute can also be used for Amex: OptBlue Participants and Bill Payment Providers as well.

Amex Supports up to 20 characters. MasterCard/Visa/Discover support up to 16 characters.

For a limited time period, this attribute can be used to supply the merchant\’s service telephone number in case of a MasterCard merchant not having the service telephone number stored in BankWORKS.

url
string (97)

Represents the sub-merchant website address.

Required by MasterCard for eCommerce transactions and in case a service telephone number (paymentFacilitator.telephoneNumber) is not available.

For a limited time period, this attribute can be used to supply the merchant’s URL in case of a MasterCard merchant not having the URL stored in BankWORKS.

subMerchantMcc
string (4)

To be provided on in case of a transaction initiated by a payment facilitator.

Refer to API Data Mapping documentation for list of MCCs available for the institution.

serviceLocation
object

The service location object is used to pass service location data related to the transaction as required by MasterCard.

Service location data is applicable for:

  • E-commerce: electric vehicle charging or fuel purchase
  • E-commerce: In-store pickup
  • Ride-hailing (eCommerce app payment)
  • Onboard transit (eCommerce app payment)
Name Description
cityName
string (13)

Service location city name.

state
string (3)

Service location state (sub-country) code.

country
string (3)

Service location country code (ISO-3 letter format)

postCode
string (10)

Service location post code.

additionalAmounts
object

This object can be used in the request message of a pre-Authorization Incremental transaction to fill the total accumulated amount of the pre-authorization. When having an Incremental transaction this field is mandatory (with amountType value ‘56’) for Discover and Diners, however, it is optional for other card schemes.

This object is also used in the request message of MIT such as Recurring, Installment, Delayed Card Sale, Re-submission of Card Sale, No-Show Charge, and Unscheduled Payment to fill the amount requested in the original transaction. When having any of the mentioned MIT, this field is mandatory (with amountType value ‘57’) for Discover and Diners. However, it is optional for other card schemes.

Name Description
amountType
string (2)

Indicates the Valid Values:

  • 44 = Tip Amount

  • 56 = Total Accumulated Amount

  • 57 = Original MIT Amount

actualAmount
object

Represents the amount value of the amountType defined. Note that all the actual amount currencies MUST match. The maximum allowed length (including decimal points) is 12.

Relationships
merchant
required

Merchant who was linked to the payment facilitator from where the authorization originated.

originalAuth

Optional authorization linked to this refund.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type authorisations .

Refund Marketplace

A refund is an 0200 message similar to a normal purchase authorization. This example contains a sample set of parameters than can be passed when creating a refund. Note that a refund is not the same as a reversal and is a separate transaction which may be (but not required to) related to the original authorization using the authorization code.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/authorisations

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type authorisations with the following attributes:

Name Description
cardNumber
string (19)
required

The cardholder’s card number. The value is returned in masked format.

To filter with this field, you will need to use the LIKE operator with wildcard(%25) and the last four digits of the card, together with a filter for other fields if needed.

  • filter[cardNumber][LIKE]=%258906
expiryDate
number (4)
required

The expiry date of the card in YYMM format.

messageTypeId
string (4)
required

‘0200’ must be provided to indicate a financial authorization.

transactionDate
date-time
required

Local date and time of the transaction originating at the point of service in ISO 8601 format.

transmissionDate
date-time

The transaction date and time at point of service in UTC 0, expressed in ISO 8601 format.

amount
object
required

Requested amount for this authorization. If the authorization will include a surcharge amount (provided in feeAmount), the amount attribute needs to include the full authorization amount, requested amount + the surcharge amount.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeAmount
object

The feeAmount can be used to add a surcharge fee to the transaction. The value accepts both a negative and positive value. A negative value indicates a credit to the cardholder. A positive value indicates a debit to the cardholder. To determine the authorisation amount the feeAmount can be added or subtracted to the amount value depending on the feeAmount sign.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

transactionType
string (2)
required

‘20’ must be provided to indicate a refund transaction.

paymentGatewayId
string (11)

Represents the MasterCard merchant payment gateway identifier registered with the card scheme. Should contain numeric value only up to 11 digits.

stan
string (6)

The System Trace Audit Number. A six digit code that must be unique for an online request. Used in conjunction with the transmissionDate and messageType ID to uniquely identify an authorisation.

externalReference
string (36)

A client-specific external identifier value. The value of the externalReference must be unique for each transaction.

eCom
object
required

Object containing eCommerce related attributes, for eCommerce transactions.

Name Description
cvc2
string (4)

The 3 or 4 digits card cvc2 security attribute.

3dSecure
string (42)

Multi-purpose data transport used to communicate cardholder authentication data between the cardholder, merchant, acquirer and issuer for e-commerce transactions.

Its presence is indicated by the securityLevelIndicator attribute.

The data to be passed must be as specified in the Card Organisation online specification manual. For further details please refer to:

  • Diners/Discover/ELO DE 122 AN(…42)

  • MCR DE 48.43 ANS(…32)

  • VISA DE 126.9 H(40)

  • AMEX DE 61.5 H(40)

xid
string (42)

The Universal Cardholder Authentication Field value used for 3D secure transport. Applicable for VISA authorisations only.

securityLevelIndicator
string (3)

Indicates if the eCommerce channel is encrypted and if UCAF is supported or not by the merchant. The below positions 1, 2 and 3 indicate the options of the secure level indicator.

  • 21x - Channel Encrypted
  • 22x - Encrypted MasterPass
  • 91x - No Security Protocol (9xx - No security protocol cannot be used for MasterCard transactions)
  • xx0 - UCAF not supported
  • xx1 - UCAF supported
  • xx2 - UCAF present
  • xx4 - UCAF present with Insights AAV for MasterCard Identity Check
cvc2ResultCode
string (1)

Indicates response of CVC2 check.

  • M - Match
  • P - Not Processed
  • S - CVV2 should be on the card, but merchant indicated that it was not
  • U - Unknown/Issuer does not participate
  • X - Server provider did not respond
psd2ExemptionFlag
string (2)

Valid values:

  • 01 = Merchant Initiated Transaction

  • 02 = Transaction passed a risk analysis

  • 03 = Low Value Payment

  • 04 = SCA delegated

  • 05 = Secure Corporate Payment

  • 06 = Trusted Merchant

  • 07 = Authentication Outage Exception (Currently Mastercard only supported)

3dSecVersion
string (1)

The 3DSecure Version indicates the program protocol being used. The character is the 3D Secure version number. Applicable for MasterCard 3D secure transactions only.

  • 1 = EMV 3-D Secure Version 2.1

  • 2 = EMV 3-D Secure Version 2.2

  • 3 = EMV 3-D Secure Version 2.3

  • 4 = EMV 3-D Secure Version 2.4

  • 5 = EMV 3-D Secure Version 2.5

  • 6 = EMV 3-D Secure Version 2.6

  • 7 = EMV 3-D Secure Version 2.7

  • 8 = EMV 3-D Secure Version 2.8

  • 9 = EMV 3-D Secure Version 2.9

3dSec2DirSerTranId
string (36)

MasterCard only. Applicable for 3D Secure Version 2.0 onwards. Indicates the Directory Server Transaction ID provided by the authentication server. For example:

f38e6948-5388-41a6-bca4-b49723c19437.

3dSecResponse
string (1)

Accountholder Authentication Value (AAV) which contains the result of the 3DS verification. Applicable for VISA and Mastercard only. Possible response:

  • 0 = AAV verification not performed/not supported by issuer

  • 1 = AAV verification success

  • 2 = AAV verification failure

  • 3 = AAV verification expected but not performed

  • 4 = AAV verification failure - Invalid Security Level Indicator

pos
object
required

Object containing point of service specific attributes.

Name Description
terminalId
string (8)

An 8-character value identifying the transaction point of service. This value may be required in certain scenarios for transactions to be cleared. If not provided the value defaults to a ‘0AUTHAPI’ value.

panEntry
string (3)

PAN entry mode

  • 010 - Manual
posCondition
string (2)

2-digit ISO value that is used to identify the point of service event of the authorization.

  • 59 - eCommerce
  • 07 - Phone/ARU order
  • 08 - Mail order
avs
object

Object containing Address Verification System attributes

Name Description
postCode
string (9)

Cardholder postcode, for AVS verification, up to 9 characters

streetAddress
string (20)

Cardholder street information for AVS verficiation, up to 20 characters. Alphabetic numbers should be sent in a numeric format. For example, ‘1 second avenue’ should be sent as ‘1 2nd avenue’

response
string (1)

AVS Response.

Address Verification Service Response Visa:

  • A - Street address: MATCH

  • B - N/A

  • M - Post code: MATCH, Street address: MATCH

  • N - Post code MISTMATCH, Street address MISMATCH

  • P - N/A

  • R - Post code: RETRY, Street address: SYSTEM UNAVAILABLE

  • U - Post code: NOT VERIFIED, Street address: NOT VERIFIED

  • Z - Post code: MATCH

Address Verification Service Response Other Card Schemes:

  • A - Post code MISMATCH, Street address MATCH
  • B - Post code NOT VERIFIED, Street address MATCH
  • M - Post code MATCH, Street address MATCH
  • N - Post code MISTMATCH, Street address MISMATCH
  • P - Post code MATCH, Street adress NOT VERIFIED
  • R - RETRY;SYSTEM, Street address UNAVAILABLE
  • U - Post code NOT VERIFIED, Street address NOT VERIFIED
  • Z - Post code MATCH, street address MISMATCH
india
object

Object containing attributes that must be provided for recurring payments initiated on India issued cards (VISA only). This is only used for POST request and will not be returned to the response.

Name Description
recurringPaymentType
string (1)

Indicates the type of recurring payment.

Valid values:

  • 1 - Registration / First transaction

  • 2 - Subsequent transaction

  • 3 - Modification

  • 4 - Cancellation (only applicable for messageType 0100 authorization request)

paymentAmountIndicator
string (1)

The indicator per recurring payment transaction. Valid values:

  • 1 - Fixed amount recurring payment

  • 2 - Recurring payment with maximum amount

recurringPaymentNumber
string (2)

Contains a value ranging from 01–99 that helps the issuer to identify total number of recurring debits for that cardholder has agreed with merchant. Value of 99 means that recurring payments are authorized until canceled or that the Number of Recurring Payments is not defined.

recurringPaymentFrequency
string (2)

Indicates the frequency of payment. Valid values are:

  • 01 - Daily,

  • 02 - Twice weekly,

  • 03 - Weekly,

  • 04 - Ten days,

  • 05 - Fortnightly,

  • 06 - Monthly,

  • 07 - Every 2 months,

  • 08 - Trimester,

  • 09 - Quarterly,

  • 10 - Twice yearly,

  • 11 - Annually,

  • 12 - Unscheduled

registrationReference
string (35)

A unique reference number for the recurring payment transaction. Alphanumeric 35 value. The reference number needs to be provided by the merchant, the value is provided by the SI (Standing Instruction) provider that the merchant works with.

maxRecurringPaymentAmount
object

The maximum recurring payment account agreed to by the cardholder.

Object containing two additional attributes:

  • value The quantative decimal monetary amount (eg. 2.13)

  • currency The ISO 4217 currency code (eg. ‘EUR’)

validationIndicator
string (1)

This tag will contain a value that indicates whether or not the recurring payment transaction has been validated offline during registration.

  • 0 - Not validated

  • 1 - Validated

paymentFacilitator
object

Object containing attributes to support payment facilitator or marketplace requests.

Name Description
cardAcceptorName
string (25)
required

Only to be provided in case of transactions initiated by payment facilitator or marketplace. Do not send in case of regular merchants.

For Payment Facilitators

Includes the payment facilitator name, in full or in abbreviated form, must be three, seven, or twelve characters in length, followed by an asterisk and the sub-merchant name. Example: PayFacs*SubMerchant

For Visa Marketplaces

Either : Includes the marketplace name, in full or in abbreviated form, followed by an asterisk and the retailer name. Example: Marketplace*Retailer

OR : Includes the marketplace name only

Note: Formats mentioned above are in the RS2Host specification format. RS2 handles the internal conversion to ensure compliance with the card scheme format depending on the card organization applicable for the transaction.

subMerchantCity
string (13)

Indicates the city location of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

subMerchantCountry
string (3)

Indicates the country code, using ISO-3 letter format, of the card acceptor. To be provided on in case of a transaction initiated by a payment facilitator or marketplace.

paymentFacilitatorId
string (11)
required

This attribute contains the Payment Facilitator ID/Marketplace ID assigned by the card scheme.

Note 1: As of October 2020 Marketplace is only supported by VISA.

independentSalesOrganisationId
string (11)

This attribute contains the Independent Sales Organization ID assigned by the card scheme.

subMerchantId
string (15)

This attribute contains the Merchant ID of the sub-merchant.

Note: This is also referred to as Sponsored Merchant ID.

subMerchantStreet
string (48)

This attribute contains the card acceptor street for the sub-merchant or Amex OptBlue participant.

subMerchantPostCode
string (10)

This attribute indicates the geographic code of the sub-merchant’s location.

When it is present in a Brazilian Visa transaction, this subfield contains the 8-character numeric postal code.

subMerchantPanEntry
string (1)

The terminal entry capability for sub-merchant terminal:

  • 0 unknown
  • 1 manual, no terminal

Refer to API Data Mapping documentation for list of terminal entry capability available for the institution.

subMerchantTaxId
string (15)

Sub-merchant Tax ID.

This field can also be used for the Brazil sub-merchant tax ID to be sent for Brazil Visa and ELO transactions.

subMerchantVatCategory
string (2)

This attribute contains the Argentina sub-merchant tax category id to be sent for Argentina Mastercard Domestic transactions. Valid values are:

  • 01 Registered Taxpayer
  • 02 Subject not Categorized
  • 03 Exempt
  • 08 Single Taxpayer
  • 09 Not Registered Taxpayer (Re-categorized Form 560/F AFIP) Non-Registered Taxpayer (Recategorized Form 560/F AFIP))
foreignRetailerIndicator
string (1)

Only applicable in case of a Visa Marketplace transaction:

  • Not included if retailer is in the same country as the acquirer
  • F’ In case the the retailer is located in a different country
state
string (3)

State of the sub-merchant. Used by MasterCard/AMEX/Discover only.

email
string (40)

Email of sub-merchant or Amex OptBlue Participant.

telephoneNumber
string (20)

Sub-merchant telephone number available for Mastercard / AMEX / Discover. Required by Mastercard in case URL is not available.

This attribute can also be used for Amex: OptBlue Participants and Bill Payment Providers as well.

Amex Supports up to 20 characters. MasterCard/Visa/Discover support up to 16 characters.

For a limited time period, this attribute can be used to supply the merchant\’s service telephone number in case of a MasterCard merchant not having the service telephone number stored in BankWORKS.

url
string (97)

Represents the sub-merchant website address.

Required by MasterCard for eCommerce transactions and in case a service telephone number (paymentFacilitator.telephoneNumber) is not available.

For a limited time period, this attribute can be used to supply the merchant’s URL in case of a MasterCard merchant not having the URL stored in BankWORKS.

subMerchantMcc
string (4)

To be provided on in case of a transaction initiated by a payment facilitator.

Refer to API Data Mapping documentation for list of MCCs available for the institution.

serviceLocation
object

The service location object is used to pass service location data related to the transaction as required by MasterCard.

Service location data is applicable for:

  • E-commerce: electric vehicle charging or fuel purchase
  • E-commerce: In-store pickup
  • Ride-hailing (eCommerce app payment)
  • Onboard transit (eCommerce app payment)
Name Description
cityName
string (13)

Service location city name.

state
string (3)

Service location state (sub-country) code.

country
string (3)

Service location country code (ISO-3 letter format)

postCode
string (10)

Service location post code.

additionalAmounts
object

This object can be used in the request message of a pre-Authorization Incremental transaction to fill the total accumulated amount of the pre-authorization. When having an Incremental transaction this field is mandatory (with amountType value ‘56’) for Discover and Diners, however, it is optional for other card schemes.

This object is also used in the request message of MIT such as Recurring, Installment, Delayed Card Sale, Re-submission of Card Sale, No-Show Charge, and Unscheduled Payment to fill the amount requested in the original transaction. When having any of the mentioned MIT, this field is mandatory (with amountType value ‘57’) for Discover and Diners. However, it is optional for other card schemes.

Name Description
amountType
string (2)

Indicates the Valid Values:

  • 44 = Tip Amount

  • 56 = Total Accumulated Amount

  • 57 = Original MIT Amount

actualAmount
object

Represents the amount value of the amountType defined. Note that all the actual amount currencies MUST match. The maximum allowed length (including decimal points) is 12.

Relationships
merchant
required

The merchant who owns the marketplaces from where the authorization originated.

originalAuth

Optional authorization linked to this refund.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type authorisations .

Refund Amex OptBlue Merchant

This use case is intended to represent a simplfied refund transaction (message type 0200).  The attributes visible have been reduced to cover this particular use case.  Amex OptBlue merchants even if not linked to payment facilitators require additional attributes residing in the paymentFacilitator object to be provided.

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/authorisations

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type authorisations with the following attributes:

Name Description
cardNumber
string (19)
required

The cardholder’s card number. The value is returned in masked format.

To filter with this field, you will need to use the LIKE operator with wildcard(%25) and the last four digits of the card, together with a filter for other fields if needed.

  • filter[cardNumber][LIKE]=%258906
expiryDate
number (4)
required

The expiry date of the card in YYMM format.

messageTypeId
string (4)
required

‘0200’ must be provided to indicate a financial authorization.

transactionDate
date-time
required

Local date and time of the transaction originating at the point of service in ISO 8601 format.

transmissionDate
date-time

The transaction date and time at point of service in UTC 0, expressed in ISO 8601 format.

amount
object
required

Requested amount for this authorization. If the authorization will include a surcharge amount (provided in feeAmount), the amount attribute needs to include the full authorization amount, requested amount + the surcharge amount.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

feeAmount
object

The feeAmount can be used to add a surcharge fee to the transaction. The value accepts both a negative and positive value. A negative value indicates a credit to the cardholder. A positive value indicates a debit to the cardholder. To determine the authorisation amount the feeAmount can be added or subtracted to the amount value depending on the feeAmount sign.

Name Description
value
decimal

The quantative decimal monetary amount (eg. 1.1)

currency
string

The ISO 4217 currency code (eg. 'EUR')

transactionType
string (2)
required

‘20’ must be provided to indicate a refund transaction.

stan
string (6)

The System Trace Audit Number. A six digit code that must be unique for an online request. Used in conjunction with the transmissionDate and messageType ID to uniquely identify an authorisation.

externalReference
string (36)

A client-specific external identifier value. The value of the externalReference must be unique for each transaction.

eCom
object
required

Object containing eCommerce related attributes, for eCommerce transactions.

Name Description
cvc2
string (4)

The 3 or 4 digits card cvc2 security attribute.

3dSecure
string (42)

Multi-purpose data transport used to communicate cardholder authentication data between the cardholder, merchant, acquirer and issuer for e-commerce transactions.

Its presence is indicated by the securityLevelIndicator attribute.

The data to be passed must be as specified in the Card Organisation online specification manual. For further details please refer to:

  • AMEX DE 61.5 H(40)
securityLevelIndicator
string (3)
required

Indicates if the eCommerce channel is encrypted and if UCAF is supported or not by the merchant. The below positions 1, 2 and 3 indicate the options of the secure level indicator.

  • 21x - Channel Encrypted
  • 22x - Encrypted MasterPass
  • 91x - No Security Protocol (9xx - No security protocol cannot be used for MasterCard transactions)
  • xx0 - UCAF not supported
  • xx1 - UCAF supported
  • xx2 - UCAF present
  • xx4 - UCAF present with Insights AAV for MasterCard Identity Check
pos
object
required

Object containing point of service specific attributes.

Name Description
terminalId
string (8)

An 8-character value identifying the transaction point of service. This value may be required in certain scenarios for transactions to be cleared. If not provided the value defaults to a ‘0AUTHAPI’ value.

panEntry
string (3)

PAN entry mode

  • 010 - Manual
posCondition
string (2)
required

2-digit ISO value that is used to identify the point of service event of the authorization.

  • 59 - eCommerce
  • 07 - Phone/ARU order
  • 08 - Mail order
avs
object

Object containing Address Verification System attributes

Name Description
postCode
string (9)

Cardholder postcode, for AVS verification, up to 9 characters

streetAddress
string (20)

Cardholder street information for AVS verficiation, up to 20 characters. Alphabetic numbers should be sent in a numeric format. For example, ‘1 second avenue’ should be sent as ‘1 2nd avenue’

response
string (1)

AVS Response.

Address Verification Service Response Visa:

  • A - Street address: MATCH

  • B - N/A

  • M - Post code: MATCH, Street address: MATCH

  • N - Post code MISTMATCH, Street address MISMATCH

  • P - N/A

  • R - Post code: RETRY, Street address: SYSTEM UNAVAILABLE

  • U - Post code: NOT VERIFIED, Street address: NOT VERIFIED

  • Z - Post code: MATCH

Address Verification Service Response Other Card Schemes:

  • A - Post code MISMATCH, Street address MATCH
  • B - Post code NOT VERIFIED, Street address MATCH
  • M - Post code MATCH, Street address MATCH
  • N - Post code MISTMATCH, Street address MISMATCH
  • P - Post code MATCH, Street adress NOT VERIFIED
  • R - RETRY;SYSTEM, Street address UNAVAILABLE
  • U - Post code NOT VERIFIED, Street address NOT VERIFIED
  • Z - Post code MATCH, street address MISMATCH
paymentFacilitator
object
required

Although this use case is intended for OptBlue merchants not linked to payment facilitators, this object contains attributes that will need to be supplied for Amex OptBlue participants.

Name Description
subMerchantStreet
string (48)
required

This attribute contains the card acceptor street for the sub-merchant or Amex OptBlue participant.

email
string (40)
required

Email of sub-merchant or Amex OptBlue Participant.

telephoneNumber
string (20)
required

Sub-merchant telephone number available for Mastercard / AMEX / Discover. Required by Mastercard in case URL is not available.

This attribute can also be used for Amex: OptBlue Participants and Bill Payment Providers as well.

Amex Supports up to 20 characters. MasterCard/Visa/Discover support up to 16 characters.

For a limited time period, this attribute can be used to supply the merchant\’s service telephone number in case of a MasterCard merchant not having the service telephone number stored in BankWORKS.

Relationships
merchant
required

Linked merchant from where the authorization originated.

originalAuth

Optional authorization linked to this refund.

Response

HTTP 201 (Created)

Response body will contain the created JSON:API resource of type authorisations .

Reversal

A reversal authorization can be sent to cancel (void) a pre-auth, purchase or completion authorization that has not been sent for clearing. Full reversals can be sent.

This request creates a new authorization to cancel out the original authorization by providing it in the originalAuth relationship field. Full amount reversals are supported. The reason for reversal must be provided. Refer to /authorisations resource documentation for a list of possible values.

Reversals Without A Response

It is recommended that in the event of not receiving a reversal response, the third party API client needs to retries the reversal up to a maximum of 10 times, with a minimum of 1 minute interval between each retry.

Reversals Declined with System Error

It is recommended that in the event of a reversal declined with a 96 response code (System Error), the third party API client needs to retries the reversal up to a maximum of 10 times, with a minimum of 1 minute interval between each retry.

Reversals Declined with other Response Codes

It is recommended that the third party API client are not to retry reversals for any other decline response except for 96 response code (System Error).

Request

POST https://wsmdemo.rs2.com/wsm/jsonapi/authorisations

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Acceptapplication/vnd.api+json
Content-Typeapplication/vnd.api+json
Crnk-Compacttrue

Request Body

A JSON:API resource of type authorisations with the following attributes:

Name Description
messageTypeId
string (4)
required

‘0420’ must be provided to indicate a reversal advice.

transmissionDate
date-time

The transaction date and time at point of service in UTC 0, expressed in ISO 8601 format.

reasonCode
string (2)
required

2-digit ISO code value to indicate the reason code for reversal advice.

  • 12 - User cancellation
  • 68 - Timeout
stan
string (6)

The System Trace Audit Number. A six digit code that must be unique for an online request. Used in conjunction with the transmissionDate and messageType ID to uniquely identify an authorisation.

Relationships
merchant
required

Linked merchant from where the authorization originated.

originalAuth
required

Links an authorization to another authorization for specific scenarios such as reversal, where the reversal must cancel out an existing authorization. Refer to use cases for more specific information.

Response

Reversal - Status Code 201 : HTTP 201 (Created)

Reversal - Status Code 202 : HTTP 202 (Accepted)

Response body will contain the created JSON:API resource of type authorisations .

GET Merchant Authorisations

This call will return the associated contract and services of the merchant that will be closed or suspended.

Response:

a. merchantId,contractDefinition - will be used in POST call to closing /contracts (point 3 call) - NOTE: just verified that parentContracts is only used during onboarding in order to inherit the “contractDefinition” of parent node, but in case of merchant contract closure, contractDefinition should be used but should be inherited from parent’s contract definition via : Merchant Maintenance & Servicing >> Merchant Hierarchy >> Parent Contract Definition call which response can be used to the next call when closing the contract.

b. contractId - will be used in the POST call to closing /services (point 4 call)

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/merchants/clientNumber=10050000/authorisations

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[retrievalReference] 000063098006

Response

HTTP 200 (OK)

GET Authorisation

This call will return the associated contract and services of the merchant that will be closed or suspended.

Response:

a. merchantId,contractDefinition - will be used in POST call to closing /contracts (point 3 call) - NOTE: just verified that parentContracts is only used during onboarding in order to inherit the “contractDefinition” of parent node, but in case of merchant contract closure, contractDefinition should be used but should be inherited from parent’s contract definition via : Merchant Maintenance & Servicing >> Merchant Hierarchy >> Parent Contract Definition call which response can be used to the next call when closing the contract.

b. contractId - will be used in the POST call to closing /services (point 4 call)

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/authorisations/{{authorisationId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[retrievalReference] 000063098006

Response

GET Authorisation : HTTP 200 (OK)

GET Authorisation w/ Addl Amt : HTTP 200 (OK)

GET Addendum L2/L3 Data

This call will return the Corporate Addendum transactions of the card issued to employees at a large company for business-related purchases.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/authorisationsAddendum/{{authorisationsAddendumId}}

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

Presentments

Presentment External Reference

This use case is intended to provide an example of how to retrieved the presentments by external reference.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/presentments?filter[externalReference]=1234567890

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Request Parameters

filter[externalReference] 1234567890
filter[retrievalReference] 205111010432

Response

Presentment Retrieval Reference - Successful : HTTP 200 (OK)

Presentment External Reference - Successful : HTTP 200 (OK)

Presentment External Reference - Not found : HTTP 200 (OK)

Presentment Client Number

This use case is intended to provide an example of how to retrieve all presenments for a particular merchant within a specific time period.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/presentments?filter[clientNumber]=98888903&filter[date][GE]=2022-12-26T00:00:00&filter[date][LE]=2022-12-28T00:00:00

Request Headers

Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue
AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c

Request Parameters

filter[clientNumber] 98888903
filter[date][GE] 2022-12-26T00:00:00
filter[date][LE] 2022-12-28T00:00:00

Response

Presentment Client Number Successful : HTTP 200 (OK)

Presentment Client Number Not Found : HTTP 200 (OK)

System Configuration

This section covers any use case related to internal system configuration.

Posting Date

Reference resource: /postingDate

This use case provides an example of how to retrieve the posting date assigned to the current active user.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/postingDate

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 200 (OK)

Billing Cycle

This section covers any use case related to billing cycle.

Billing Cycle Definitions

Reference resource: /bilingCycleDefinitions

This use case provides an example of how to retrieve the billing cycle definition.

Request

GET https://wsmdemo.rs2.com/wsm/jsonapi/billingCycleDefinitions

Request Headers

AuthorizationBearer 6c99f200-2022-4cb3-ba6b-4955843c226c
Content-Typeapplication/vnd.api+json
Acceptapplication/vnd.api+json
Crnk-Compacttrue

Response

HTTP 200 (OK)