API version 2.9.0
Credit Instalment Management
Our solution supports credit instalment management allowing the Issuer to propose a number of credit instalment types to its customers. By using our credit instalment different plans, the Issuer can decide to grant a credit to its customers on a condition of its repayment at regular intervals over a specified period of time, until it is fully paid.
Retrieve A Credit Instalment Model Simulation
The "Request credit Instalment model simulation" API allows to simulate repayment schedule either by providing instalment model reference or instalment type (e.g. transaction, cash etc) and then customer can choose a desired instalment contract with the desired terms and repayment plan.
The mandatory input fields are:
- The issuer ID
- Credit amount requested by customer
- Reference of a credit instalment model or Instalment type
As a result system returns simulated information with 1 or more repayment plans containing such as:
- total amount due
- total interest amount
- fee amount (if relevant)
- each Instalment amount
- full repayment schedule
API links
Create A Credit Instalment Contract
The "Create credit Instalment contract" API allows to create a credit Instalment contract based on provided information.
The mandatory input fields are:
- The issuer ID
- Credit amount (allowed within the model range)
- External Reference of an active credit instalment model
- Receiving account reference which relates to the account credited. The account should not be closed.
- Paying account reference which is assigned for credit instalment repayment posting. The account shall not be closed.
The optional/conditional input fields:
- The customer for which the detail is requested: It can be provided by using the customer reference or the issuer customer external reference. Field is mandatory when channel is not 'SMS'.
- External Reference of an active credit instalment model
- Credit term which is allowed on the chosen instalment product. Default value is taken from instalment model, if credit term is not defined.
- First instalment date which shall be allowed on the chosen instalment product
- An external reference (MSISDN) can be provided to identify the Instalment credit contract to be credited (e.g. mobile phone number)
As a result Instalment contract is created with:
- Credit instalment reference
- Contract Status set as ‘Created’
- Contract date defined as the date of the creation
- Credit term (default value from the Instalment Model if not provided by issuer)
- First Instalment Date (default value from the Instalment Model if not provided by issuer)
- Total interest amount calculated
- Total contract amount calculated (credit amount plus total interest amount and total fee)
- Fee amount calculated
- Monthly Instalment amount calculated
- Repayment schedule calculated
If Instalment model reference is not provided, it will be derived from:
- card type taken from card or card contract identifier
- credit amount
Selected model must have the same currency and Channel Type as the one provided in the request.
If channel type is provided as 'SMS' then:
- provided Receiving account and Paying account must be the same
- MSISDN is mandatory
Restrictions can be applied to limit instalments per customer, per day etc.
API links
Update A Credit Instalment Contract
The "Update Credit Instalment contract" API allows to update different parameters of the contract: credit amount, Instalment term, first instalment date etc.
The mandatory input fields are:
- The issuer ID
- Credit Instalment Contract Reference
When the credit instalment contract is in "ACTIVE" status, system only allows to update "Paying Account Number”. No restrictions are applied for updating credit amount, even if the value is out of instalment model defined range.
API links
Cancel A Credit Instalment Contract
The "Cancel Credit Instalment contract" API allows issuer to cancel the Instalment contract before posting of the first instalment amount.
Contract status must be in "Created" status.
The mandatory input fields are:
- The issuer ID
- Credit Instalment Contract Reference
Upon receiving this request, the contract status will be changed from ‘Created’ to ‘Cancelled’.
API links
Activate A Credit Instalment Contract
The "Activate Credit Instalment contract" API allows issuer to request contract validation, once customer is signing the instalment contract.
The mandatory input fields are:
- The issuer ID
- Credit Instalment Contract Reference (can be 4 last digits if the MSISDN is provided)
Upon receiving this request, the contract status will be changed from ‘Created’ to ‘Active’.
An instalment account is created after the contract activation.
Upon instalment contract activation repayment plan is started.
API links
List Credit Instalment Contracts
The "List credit Instalment contracts" API allows to get the list of credit Instalment contracts for a given customer & issuer.
The mandatory input fields are:
- The issuer ID
- The customer for which the detail is requested: It can be provided by using the customer reference or the issuer customer external reference.
In return the interface provides list of credit instalment contracts (both closed and open) for a given customer with details such as: credit amount, interest rate, interest amount, repayment details, posting details on principal amount and interest, etc.
API links
Retrieve Credit Instalment Contract
The "Retrieve Credit Instalment contract" API allows to retrieve details for credit Instalment contract.
The mandatory input fields are:
- The issuer ID
- Credit Instalment Contract Reference
In return the interface provides details as: credit amount, interest rate, interest amount, repayment details, posting details on principal amount and interest, etc.
API links
Close All Credit Instalment Contracts For An Account
The "Close all credit Instalment contracts for an account" API allows to close all credit Instalment contracts for an account. All the Instalment contracts linked to paying account are closed.
The mandatory input fields are:
- The issuer ID
- Paying account reference
- Remaining credit instalment reimbursement option (issuer or paying account)
The remaining credit for the reimbursement contract can be repaid either by the issuer or customer from their paying account defined in the credit instalment contract.
Repayment amount can be posted with 2 possible options, if repayment posting type is defined in contract property "repayment posting type":
- Principal amount with Interest and Fee
- Principal amount with Interest
If property is not available, three different installment operations will be posted for PRINCIPAL, INTEREST and FEE.
As a result credit instalment contract is terminated.
API links
Terminate Credit Instalment Contract
The "Terminate Credit Instalment contract" API allows the issuer or the customer to terminate the credit Instalment contract.
The mandatory input fields are:
- The issuer ID
- Credit Instalment Contract Reference
- Remaining credit instalment reimbursement option (issuer or paying account)
The remaining credit for the reimbursement contract can be repaid either by the issuer or customer from their paying account defined in the credit instalment contract.
Repayment amount can be posted with 2 possible options, if repayment posting type is defined in contract property "repayment posting type":
- Principal amount with Interest and Fee
- Principal amount with Interest
If property is not available, three different instalment operations will be posted for PRINCIPAL, INTEREST and FEE.
As a result credit instalment contract is terminated.
API links
Early Repayment Of A Credit Instalment Contract
The "Early repayment of Credit Instalment contract" API allows to make an extra payment out of regular repayment plan.
The mandatory input fields are:
- The issuer ID
- Credit Instalment Contract Reference
- Repayment Amount
- Remaining credit instalment reimbursement option (issuer or paying account)
As a result the repayment plan is recalculated (number of instalment terms is reduced).
Repayment amount is posted with 2 possible options if repayment posting type is defined:
- Principal amount with Interest and Fee
- Principal amount with Interest
Otherwise three different installment operations will be posted for PRINCIPAL, INTEREST and FEE.
API links
Transactions description generic page
Transactions description
This API allows you to provide detailed transaction data to your merchant customers. The API enables you to retrieves comprehensive transaction data based on merchant payments, contract entity and on specific periods of time.
Accounts (Features For Pre-paid and Credit Cards)
Accounts are used to process operations, manage a balance in a dedicated currency, control the credit risk, perform transaction charging, calculate interest (credit or debit), generate an invoice (statement), process payments.
Three types of account working modes are being supported; Pay Later, Pay Now, Pay Before.
- Pay Later account working mode is used to implement classical credit card products like charge cards or revolving credit. Pay later accounts are settled by a cyclic closure process and typically produce an invoice (statement) with an amount due which can represent the full or partial statement balance. Credit or debit interest algorithms may apply.
- Pay Now account working mode is used for all types of debit cards. Such accounts are typically settled in short frequencies (e. g. daily) and produce debit orders, immediately forwarded to customers’ current accounts. Interest calculation never applies.
- Pay Before account working mode is used for the wide range of prepaid card products. The balance is always positive.
The below diagram presents different use cases covered by the API in the account domain.
Our issuing use cases
Customer
A customer is a person who has subscribed to services offered by the issuer
A customer can have multiple roles and can be:
- the owner of the contract
- the Cardholder,
- the owner of the account
Note that only relevant client information necessary for our processing, and customer communication on behalf of the issuer, is managed.
- Customer data (last name, first name, etc) related to a person or to a company
- Multiple addresses management
- including temporarily address management
- Address usage : card and PIN delivery, statement, client communication (letters, calls/ customer services
Several APIS are provided in order to manage the customer and their addresses as illustrated below:
Account Insurance Contract
Insurance attached to an account can be managed within our system.
Example of insurance can be Payment protection insurance.
Several insurance packages can be configured in order to describe the insurance fee calculation and the usage rules.
The list of authorized insurance events and their codes are also part of an insurance package.
As an example:
Event code | Description/Comment |
RSV | Payment protection insurance is active |
RAL | Ensured event "UNEMPLOYMENT" |
RAU | Ensured event "INCAPACITY FOR WORK" |
RTD | Ensured event "DEATH" |
RSS | Reversal of insurance |
RKK | Insurance Cancellation by the customer |
RKB | Insurance Cancellation by the bank |
RKA | Insurance Cancellation by the bank, automatically (maximum age reached) |
List Insurance Contracts For An Account
The API allows the list of insurance contracts for an account to be retrieved.
The main input fields requested by the API are:
- The issuer ID
- The account for which info is requested: It can be provided by using the account reference or the issuer external account reference.
In return, the list of insurance contracts is provided with the subscribed insurance package, the insurance events, the latest occurring events and the status for each contract.
The list of insurance events and their codes are pre-defined and configured in the insurance package.
The contracts with a closed status are not provided back.
The possible statuses of insurance contracts are:
- ACTIVE,
- INTERRUPTED,
- DISABLED,
- CLOSED
The statuses depends on the insurance events configuration.
API links
Retrieve An Insurance Contract For An Account
The API allows an insurance contract for an account to be retrieved.
The main input fields requested by the API are:
- The issuer ID
- The account for which info is requested: It can be provided by using the account reference or the issuer external account reference
- The insurance package reference
In return, the insured events and the latest occurring events for the account and insurance package reference are returned.
The list of insurance events and their codes are a pre-defined and configured in the insurance package.
The contracts with a closed status are not provided back.
The possible status of insurance contracts are:
- ACTIVE
- INTERRUPTED
- DISABLED
- CLOSED
The statuses depends on the insurance events configuration.
API links
Create An Insurance Contract For An Account
The API allows an insurance contract for an account to be activated if the activation was not requested at the contract creation.
The main input fields requested by the API are:
- The issuer ID
- The account for which info is requested: It can be provided by using the account reference or the issuer external account reference
- The insurance package reference
- The insurance event code for activation if the activation by default is not defined in the product setup
Controls are performed in our system in order to check that:
- The insurance package is authorized
- The event exists for the insurance package
- The event is associated to an event with “Activate Insurance” action
- If insurance Minimum eligible age is configured, account owner age should be >= Minimum eligible age
- If insurance Maximum eligible age is configured, account owner age should be <= Maximum eligible age
API links
Close An Insurance Contract
The API allows an insurance contract for an account to be closed.
The main input fields requested by the API are:
- The issuer ID
- The account for which info is requested: It can be provided by using the account reference or the issuer external account reference
- The insurance package identifier
API links
Add An Insurance Event To Insurance Contract
The API is used to post some events to an insurance contract.
The complete list of event is defined in the product setup.
The actions linked to the event can be:
- activate insurance
- deactivate insurance
- stop the fee calculation
The main input fields requested by the API are:
- The issuer ID
- The account for which info is requested: It can be provided by using the account reference or the issuer external account reference
- The insurance package identifier
API links
Balance and Payment
Post A Balance Adjustment Operation For An Account
The API is used to generate a balance adjustment operation on an account.
The input account can be provided by using:
- the account reference
- or the issuer external account reference
API links
Below an example of request and response for:
- the account 12346393393948083995
- the issuer 1234
POST /api/v2/issuers/1234/accounts/12346393393948083995/post-balance-adjustment-operation
Request data
{
" ""balanceAdjustmentReason ":" ""DISPUTE_ADJUSTMENT",
" ""description":" ""Balance Adjustment",
" ""externalOperationReference":" ""12346393393948083995",
" ""externalOperationDate":" ""2023-01-02T11:10:14.365Z",
" ""externalOperationServicePoster":" ""ISSUER",
" ""externalOperationCode":" ""2145",
" ""referenceAmount":" "{
" ""value": 1500,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""valueDate":" ""2023-01-02T11:10:14.365Z"
}
Response data
{
" ""responseMetadata":" "{
" ""correlationId":" ""abf49795-85f1-48c5-931e-6f65eb3162bf",
" ""statusMessage":" ""Executed successfully",
" ""statusCode": 200,
" ""responseDateTime":" ""2023-01-02T12:20:44.403+0100",
" ""timeTakenMs": 873
},
" ""data":" "{
" ""operationIdentifier":" "{
" ""operationId":" ""1000000000376072"" "
}" "
}
}
Post A Payment Operation For An Account
The API allows a payment operation to an account to be generated and posted.
A payment operation is used to pay the due amount.
If the amount provided is greater than the due amount, the overpayment can be posted to another account if provided.
As an input, the account identifier can be provided by using:
- the account reference generated by WL
- or the issuer external account reference
API links
Below an example of request and response for:
- Account: 12348153189268935960
- issuer: 1234
POST /api/v2/issuers/1234/accounts/12348153189268935960/post-payment-operation
Request data
{
" ""description":" ""Manual Payment",
" ""externalOperationReference":" ""TESTAPI12345",
" ""externalOperationDate":" ""2023-02-03T14:06:08.669Z",
" ""externalOperationServicePoster":" ""BANK",
" ""externalOperationCode":" ""1051",
" ""referenceAmount":" "{
" ""value": -42445,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""valueDate":" ""2023-02-03T14:06:08.669Z",
" ""paymentChannel":" ""INCOMING_PAYMENT",
" ""sepa":" true"
}
Response data
{
" ""responseMetadata":" "{
" ""correlationId":" ""94179741-e6f4-4ea6-aee5-03a3a297e7a3",
" ""statusMessage":" ""Executed successfully",
" ""statusCode": 200,
" ""responseDateTime":" ""2023-02-03T16:06:31.014+0100",
" ""timeTakenMs": 586
},
" ""data":" "{
" ""operationIdentifier":" "{
" ""operationId":" ""1000000000408222"" "
}" "
}
}
Post A Reimbursement Operation To An Account
The API allows a reimbursement operation to an account to be generated and posted.
A reimbursement operation can be used when the account is in a credit situation.
As an input, the account identifier can be provided by using:
- the account reference generated by WL
- or the issuer external account reference
API links
Below an example of reimbursement operation posted to the:
- account: 12348743536456021829
- issuer: 1234
POST /api/v2/issuers/1234/accounts/12348743536456021829/post-reimbursement-operation
Request data
{
" ""description":" ""Manual Reimbursement",
" ""externalOperationReference":" ""12345698741aze",
" ""externalOperationDate":" ""2023-02-03T17:09:14.967Z",
" ""externalOperationServicePoster":" ""BANK",
" ""externalOperationCode":" ""5031",
" ""reimbursementType":" ""FULL",
" ""referenceAmount":" "{
" ""value": 15000,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
}
}
Response data
{
" ""responseMetadata":" "{
" ""correlationId":" ""836bb783-1a19-40a5-80f3-ef42476ac639",
" ""statusMessage":" ""Executed successfully",
" ""statusCode": 200,
" ""responseDateTime":" ""2023-02-03T18:15:35.663+0100",
" ""timeTakenMs": 254
},
" ""data":" "{
" ""operationIdentifier":" "{
" ""operationId":" ""1000000000408228"" "
}" "
}
}
Reverse A Balance Adjustment Operation For An Account
The API is used to reverse a balance adjustment operation on an account.
As an input, the account identifier can be provided by using:
- the account reference generated by WL
- or the issuer external account reference
The balance adjustment operation to be reversed must be provided.
API links
Below an example of request and response for:
- the account 12346393393948083995
- the issuer 1234
POST /api/v2/issuers/1234/accounts/12346393393948083995/reverse-balance-adjustment-operation
Request data
{
" ""reversalReason":" ""REVERSAL_ON_DEMAND",
" ""description":" ""DISPUTE_ADJUSTMENT REVERSAL",
" ""externalMatchingOperationReference":" ""12346393393948083995",
" ""externalMatchingOperationDate":" ""2023-01-02T11:10:14.365Z",
" ""externalMatchingOperationServicePoster":" ""ISSUER",
" ""referenceAmount":" "{
" ""value": 1500,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""externalOperationReference":" ""12346393393948083996",
" ""externalOperationDate":" ""2023-01-02T12:54:22.132Z",
" ""externalOperationServicePoster":" ""ISSUER"
}
Response data
{
" ""responseMetadata":" "{
" ""correlationId":" ""64366132-671f-460c-8e0e-209807ee18ef",
" ""statusMessage":" ""Executed successfully",
" ""statusCode": 200,
" ""responseDateTime":" ""2023-01-02T14:00:34.166+0100",
" ""timeTakenMs": 398
},
" ""data":" "{
" ""operationIdentifier":" "{
" ""operationId":" ""1000000000376074"" "
}" "
}
}
Reverse A Payment Operation For An Account
The API allows a payment reversal operation on an account.
A payment reversal can be requested when a direct debit returns unpaid.
As an input, the account identifier can be provided by using:
- the account reference generated by WL
- or the issuer external account reference
The payment reference to be reversed must be provided.
API links
Below an example of request and response for:
- account: 12348153189268935960
- issuer: 1234
POST /api/v2/issuers/1234/accounts/12348153189268935960/reverse-payment-operation
Request data
{
" ""reversalReason":" ""REVERSAL_ON_DEMAND",
" ""description":" ""Manual payment reversal",
" ""externalMatchingOperationReference":" ""TESTAPI12345",
" ""externalMatchingOperationDate":" ""2023-02-03T14:06:08.669Z",
" ""externalMatchingOperationServicePoster":" ""BANK",
" ""externalOperationReference":" ""RVTESTAPI12345",
" ""externalOperationDate":" ""2023-02-03T17:23:46.730Z",
" ""externalOperationServicePoster":" ""BANK"
}
Response data
{
" ""responseMetadata":" "{
" ""correlationId":" ""45911869-8968-4948-a570-48ef47ca9b32",
" ""statusMessage":" ""Executed successfully",
" ""statusCode": 200,
" ""responseDateTime":" ""2023-02-03T18:32:13.432+0100",
" ""timeTakenMs": 307
},
" ""data":" "{
" ""operationIdentifier":" "{
" ""operationId":" ""1000000000408230"" "
}" "
}
}
Load An Account
The API allows an account to be loaded.
A load operation is used for prepaid cards to put money in an account.
The operation can have a control on the amount authorized and trigger a load operation fee, if it is configured.
As an input, the account identifier can be provided by using:
- the account reference generated by WL
- or the issuer external account reference
API links
Below an example of request and the response for:
- issuer: 1234
- Account: 283729323911384
POST /api/v2/issuers/1234/accounts/283729323911384/post-load-operation
Request data
{
" ""description":" ""load test",
" ""externalOperationReference":" ""5678",
" ""externalOperationDate":" ""2023-01-02T14:31:50.961Z",
" ""externalOperationServicePoster":" ""ISSUER",
" ""externalOperationCode":" ""9999",
" ""referenceAmount":" "{
" ""value": 5000,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""paymentChannel":" ""NO_CHANNEL_PROVIDED",
" ""sepa":" false"
}
Response data
{
" ""responseMetadata":" "{
" ""correlationId":" ""03c5fd54-cb82-4036-bf83-e1a9a72d1903",
" ""statusMessage":" ""Executed successfully",
" ""statusCode": 200,
" ""responseDateTime":" ""2023-01-02T14:31:54.798+0100",
" ""timeTakenMs": 1865
},
" ""data":" "{
" ""operationIdentifier":" "{
" ""operationId":" ""1000000000376075"" "
}" "
}
}
Unload An Account
The API allows an account to be unloaded. An unload operation is used for prepaid cards to retrieve money from an account.
The operation can have a control on the amount authorized.
As an input, the account identifier can be provided by using:
- the account reference generated by WL
- or the issuer external account reference
API links
Below an example of request and the response for:
- Account: 283729323911384
- issuer: 1234
POST /api/v2/issuers/1234/accounts/283729323911384/post-unload-operation
Request data
{
" ""description":" ""unload test",
" ""externalOperationReference":" ""0078",
" ""externalOperationDate":" ""2023-01-02T14:34:50.961Z",
" ""externalOperationServicePoster":" ""ISSUER",
" ""externalOperationCode":" ""9994",
" ""referenceAmount":" "{
" ""value": 4000,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
}
}
Response data
{
" ""responseMetadata":" "{
" ""correlationId":" ""4918e858-6d61-44af-930a-75caee13b2e5",
" ""statusMessage":" ""Executed successfully",
" ""statusCode": 200,
" ""responseDateTime":" ""2023-01-02T14:34:20.183+0100",
" ""timeTakenMs": 186
},
" ""data":" "{
" ""operationIdentifier":" "{
" ""operationId":" ""1000000000376076"" "
}" "
}
}
List Direct Debits For An Account
The API allows the list of sepa and non sepa direct debit notes generated from an account to repay its due amount to be retrieved.
This API applies to the credit cards domain.
API links
Below an example of request for:
- Account: 12349485785398617383
- Issuer: 1234
GET / api/v2/issuers/1234/accounts/12349485785398617383/direct-debits
Response data
{
" ""data":" "[
" "{
" ""issuerId":" ""1234",
" ""directDebitIdentifier":" "{
" ""endToEndId":" ""12341902C221228053245590"" "
},
" ""overPaymentAccountIdentifier":" "{
" ""accountReference":" ""12349485785398617383",
" ""issuerAccountExternalReference":" ""ROOT_ACCOUNT-20220809091334"" "
},
" ""payingAccountIdentifier":" "{
" ""accountReference":" ""12349485785398617383",
" ""issuerAccountExternalReference":" ""ROOT_ACCOUNT-20220809091334"" "
},
" ""amount":" "{
" ""value": 475,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""creationDate":" ""2022-12-28T04:32:45.000+00:00",
" ""extractType":" ""BATCH",
" ""status":" ""ACCEPTED",
" ""remittanceInfo":" ""ABCCARD - ABRECHNUNG VOM 20221228"" "
},
" "{
" ""issuerId":" ""1234",
" ""directDebitIdentifier":" "{
" ""endToEndId":" ""12344470C221227121217877"" "
},
" ""overPaymentAccountIdentifier":" "{
" ""accountReference":" ""12349485785398617383",
" ""issuerAccountExternalReference":" ""ROOT_ACCOUNT-20220809091334"" "
},
" ""payingAccountIdentifier":" "{
" ""accountReference":" ""12349485785398617383",
" ""issuerAccountExternalReference":" ""ROOT_ACCOUNT-20220809091334"" "
},
" ""amount":" "{
" ""value": 390,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""creationDate":" ""2022-12-27T11:12:17.000+00:00",
" ""extractType":" ""BATCH",
" ""status":" ""ACCEPTED",
" ""remittanceInfo": ABCCARD - ABRECHNUNG VOM 20221227"
},
{
""issuerId"": "1234",
""directDebitIdentifier"": {
""endToEndId"": "12344701C221227120342227"
},
""overPaymentAccountIdentifier"": {
""accountReference"": "12349485785398617383",
""issuerAccountExternalReference"": "ROOT_ACCOUNT-20220809091334"
},
""payingAccountIdentifier"": {
""accountReference"": "12349485785398617383",
""issuerAccountExternalReference"": "ROOT_ACCOUNT-20220809091334"
},
""amount"": {
""value"": 220,
""exponent"": 2,
""isoCode"": ""EUR""
},
""creationDate"": ""2022-12-27T11":"03":"42.000+00":00",
""extractType"": ""BATCH"",
""status"": ""ACCEPTED"",
""remittanceInfo"": "ABCCARD - ABRECHNUNG VOM 20221227"
},
{
""issuerId"": "1234",
""directDebitIdentifier"": {
""endToEndId"": "1234-12349485785398617383-C202212020958"
},
""overPaymentAccountIdentifier"": {
""accountReference"": "12349485785398617383",
""issuerAccountExternalReference"": "ROOT_ACCOUNT-20220809091334"
},
""payingAccountIdentifier"": {
""accountReference"": "12349485785398617383",
""issuerAccountExternalReference"": "ROOT_ACCOUNT-20220809091334"
},
""amount"": {
""value"": 3900,
""exponent"": 2,
""isoCode"": ""EUR""
},
""creationDate"": ""2022-12-02T08":"58":"40.000+00":00",
""extractType"": ""BATCH"",
""status"": ""PAID"",
""remittanceInfo"": "ABCCARD - ABRECHNUNG VOM 20221202"\"
}
]
}"
Create A Direct Debit Instruction
This API enables a direct debit note to be requested by debiting a customer bank account (inhouse or external) to increase the open to buy of the card account (for a particular purchase).
As a result, the direct debit is generated and after n business days (issuer configuration), the card account is paid with the requested amount (the total amount due for this card account is paid first).
The API returns the unique Direct Debit EndToEnd Identifier generated by our system and the direct debit status.
Retrieve Direct Debit
This API enables an already created direct debit instruction to be retrieved by providing in input the Direct Debit E2E Identifier and the reject reason.
API links
Below an example of request for the:
- Issuer : 1234
- End to end Id: 1234-12349485785398617383-C202212020958
GET /api/v2/issuers/1234/direct-debits/1234-12349485785398617383-C202212020958
Response data
" ""data":" "{
" ""issuerId":" ""1234",
" ""directDebitIdentifier":" "{
" ""endToEndId":" ""1234-12349485785398617383-C202212020958"" "
},
" ""overPaymentAccountIdentifier":" "{
" ""accountReference":" ""12349485785398617383",
" ""issuerAccountExternalReference":" ""ROOT_ACCOUNT-20220809091334"" "
},
" ""payingAccountIdentifier":" "{
" ""accountReference":" ""12349485785398617383",
" ""issuerAccountExternalReference":" ""ROOT_ACCOUNT-20220809091334"" "
},
" ""amount":" "{
" ""value": 3900,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""creationDate":" ""2022-12-02T08:58:40.000+00:00",
" ""extractType":" ""BATCH",
" ""status":" ""PAID",
" ""remittanceInfo":" "" ABCCARD - ABRECHNUNG VOM 20221202"" "
}
}
Cancel A Direct Debit
This API enables a direct debit instruction to be cancelled by providing in input the Direct debit E2E Identifier.
The cancellation is possible for Direct debit not collected yet (sent to the bank).
API links
List Credit Transfers For An Account
The API allows the list of credit transfers posted for an account to be retrieved.
This API applies to the credit cards domain.
A credit transfer can be posted to an account to pay the due amount (for eg, self-payer).
API links
Below an example of request for:
- Issuer 1234
- Account reference: 658641608028488
GET /api/v2/issuers/1234/accounts/658641608028488/credit-transfers
Response data
{
" ""data":" "[
" "{
" ""issuerId":" ""1234",
" ""creditTransferIdentifier":" "{
" ""endToEndId":" ""1234-658641608028488-F202204191155"" "
},
" ""accountIdentifier":" "{
" ""accountReference":" ""658641608028488"" "
},
" ""creationDate":" ""2022-04-19T09:55:23.000+00:00",
" ""amount":" "{
" ""value": 3997,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""iban":" ""DE30200411111207360447",
" ""bic":" ""SOLADEST600",
" ""sci":" ""DE39ATS00000000043",
" ""sepaIndicator":" true",
" ""octType":" ""K",
" ""remittanceInfo":" ""GUTSCHRIFT XXXXXXXXX",
" ""status":" ""CREATED",
" ""eventSource":" ""INTERNAL"" "
}" "
]
}
Create A Credit Transfer Instruction
This API enables an outgoing credit transfer instruction to be created by transferring funds towards a beneficiary bank account (inhouse/external) from a card account credit balance or open-to-buy.
The beneficiary bank account IBAN must be provided in input (the Direct Debit IBAN for the card account can be used otherwise if any).
As a result, the card account is immediately debited of the requested amount.
The API returns the unique Credit Transfer EndToEnd Identifier generated by our system and the Credit Transfer status.
API links
Retrieve A Credit Transfer
This API enables an already created credit transfer instruction to be retrieved by providing in input the credit transfer E2E Identifier.
API links
Cancel A Credit Transfer
This API enables a credit transfer instruction to be cancelled by providing in input the credit transfer E2E Identifier.
API links
Cancel Account Delinquency
An account is in delinquency situation (the required minimum payment is overdue).
The API allows the delinquency situation of an account to be cancelled.
As an input, the account identifier is provided by using:
- the account reference generated by WL
- or the issuer external account reference
Optionally, the required overdue minimum payment can be cancelled.
As a result:
- the account is no more in delinquency situation
- the amount due (required overdue minimum payment) is cancelled if this has been requested.
API links
Statement Management
At cycle closure date raw statement data is prepared and can be exported at statement issuing date.
- Either per contract, if all cards within this contract are repaid by the same payer
- Or per card account, if each card is repaid by its cardholder
Each statement contains:
- Cycle information
- Minimum Payment amount
- Payment due date
- Direct debit amount (except if customer is self-payer)
- List of distinct operations (scheme financial transactions, fees, debit interest, insurance fee, credit instalment repayments, etc) – grouped per card account (if several ones)
List Statements For An Account
The API is used to get the list of statements generated for an account and optionally a requested period.
It is also possible to get reprint information of a statement.
The input parameters are:
- the involved account: it can be provided by using the account reference or the issuer external account reference
- the search period (start date date/ end date)
- the embed field "reprint-history" if needed
In response, the list of statement is provided with the financial information of each statement such as: previous cycle balance (start balance), end cycle balance, due amount, total of payments, ...
API links
Below an example of request for the account: 12343037952407582600
GET /api/v2/issuers/1234/accounts/12343037952407582600/statements?embed=reprintHistory
Response data
{
"data":" "[
" "{
" ""issuerId":" ""1234",
" ""accountIdentifier":" "{
" ""accountReference":" ""12343037952407582600"" "
},
" ""cycleClosureDate":" ""2022-11-29T23:00:00.000+00:00",
" ""creationDate":" ""2022-12-21T09:52:00.000+00:00",
" ""paymentDueDate":" ""2022-11-29T23:00:00.000+00:00",
" ""directDebitAmount":" "{
" ""value": 0,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""theoricDirectDebitAmount":" "{
" ""value": 0,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""cycleBalance":" "{
" ""value": -40946,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""previousCycleBalance":" "{
" ""value": -41031,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""totalOfPayment":" "{
" ""value": 0,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""previousCycleClosureDate":" ""2022-10-27T22:00:00.000+00:00",
" ""nextCycleClosureDate":" ""2022-12-29T23:00:00.000+00:00",
" ""amountDue":" "{
" ""value": 0,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""initialPastAmountDue":" "{
" ""value": 0,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""initialRemainingAmountDue":" "{
" ""value": 0,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
}" "
},
" "{
" ""issuerId":" ""1234",
" ""accountIdentifier":" "{
" ""accountReference":" ""12343037952407582600"" "
},
" ""cycleClosureDate":" ""2022-10-27T22:00:00.000+00:00",
" ""creationDate":" ""2022-10-28T14:50:04.000+00:00",
" ""paymentDueDate":" ""2022-10-27T22:00:00.000+00:00",
" ""theoricDirectDebitAmount":" "{
" ""value": 0,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""cycleBalance":" "{
" ""value": -41031,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""previousCycleBalance":" "{
" ""value": -41031,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""totalOfPayment":" "{
" ""value": 0,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""previousCycleClosureDate":" ""2022-09-29T22:00:00.000+00:00",
" ""nextCycleClosureDate":" ""2022-11-29T23:00:00.000+00:00",
" ""amountDue":" "{
" ""value": 0,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""initialPastAmountDue":" "{
" ""value": 0,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""initialRemainingAmountDue":" "{
" ""value": 0,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
}" "
},
" "{
" ""issuerId":" ""1234",
" ""accountIdentifier":" "{
" ""accountReference":" ""12343037952407582600"" "
},
" ""cycleClosureDate":" ""2022-09-29T22:00:00.000+00:00",
" ""paymentDueDate":" ""2022-09-29T22:00:00.000+00:00",
" ""theoricDirectDebitAmount":" "{
" ""value": 0,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""cycleBalance":" "{
" ""value": -41031,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""previousCycleBalance":" "{
" ""value": -41031,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""totalOfPayment":" "{
" ""value": 0,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""previousCycleClosureDate":" ""2022-08-29T22:00:00.000+00:00",
" ""nextCycleClosureDate":" ""2022-10-27T22:00:00.000+00:00",
" ""amountDue":" "{
" ""value": 0,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""initialPastAmountDue":" "{
" ""value": 5000,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""initialRemainingAmountDue":" "{
" ""value": 0,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
}" "
},
" "{
" ""issuerId":" ""1234",
" ""accountIdentifier":" "{
" ""accountReference":" ""12343037952407582600"" "
},
" ""cycleClosureDate":" ""2022-08-29T22:00:00.000+00:00",
" ""paymentDueDate":" ""2022-08-29T22:00:00.000+00:00",
" ""theoricDirectDebitAmount":" "{
" ""value": 5000,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""cycleBalance":" "{
" ""value": -41031,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""previousCycleBalance":" "{
" ""value": 55465,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""totalOfPayment":" "{
" ""value": 46500,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""previousCycleClosureDate":" ""2022-07-28T22:00:00.000+00:00",
" ""nextCycleClosureDate":" ""2022-09-29T22:00:00.000+00:00",
" ""amountDue":" "{
" ""value": 5000,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""initialPastAmountDue":" "{
" ""value": 0,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""initialRemainingAmountDue":" "{
" ""value": 5000,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
}" "
},
" "{
" ""issuerId":" ""1234",
" ""accountIdentifier":" "{
" ""accountReference":" ""12343037952407582600"" "
},
" ""cycleClosureDate":" ""2022-07-28T22:00:00.000+00:00",
" ""paymentDueDate":" ""2022-07-28T22:00:00.000+00:00",
" ""theoricDirectDebitAmount":" "{
" ""value": 27733,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""cycleBalance":" "{
" ""value": 55465,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""previousCycleBalance":" "{
" ""value": 60000,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""totalOfPayment":" "{
" ""value": 30000,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""previousCycleClosureDate":" ""2022-06-29T22:00:00.000+00:00",
" ""nextCycleClosureDate":" ""2022-08-29T22:00:00.000+00:00",
" ""amountDue":" "{
" ""value": 5000,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""initialPastAmountDue":" "{
" ""value": 0,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""initialRemainingAmountDue":" "{
" ""value": 5000,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
}" "
},
" "{
" ""issuerId":" ""1234",
" ""accountIdentifier":" "{
" ""accountReference":" ""12343037952407582600"" "
},
" ""cycleClosureDate":" ""2022-06-29T22:00:00.000+00:00",
" ""creationDate":" ""2022-07-08T16:10:18.000+00:00",
" ""paymentDueDate":" ""2022-06-29T22:00:00.000+00:00",
" ""directDebitAmount":" "{
" ""value": 30000,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""theoricDirectDebitAmount":" "{
" ""value": 30000,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""cycleBalance":" "{
" ""value": 60000,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""previousCycleBalance":" "{
" ""value": 0,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""totalOfPayment":" "{
" ""value": 0,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""nextCycleClosureDate":" ""2022-07-28T22:00:00.000+00:00",
" ""amountDue":" "{
" ""value": 5000,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""initialRemainingAmountDue":" "{
" ""value": 5000,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
}" "
}" "
]
}
Retrieve Last Statement For An Account
The API is used to get the financial information of the last statement generated for an account such as: previous cycle balance (start balance), end cycle balance, due amount, total of payments, ...
It is also possible to get reprint information of the statement.
The input parameters are:
- the involved account: it can be provided by using the account reference or the issuer external account reference
- the embed field "reprint-history" if needed
API links
Below an example of request for the:
- account: 12343037952407582600
- Issuer: 1234
GET /1234/accounts/12343037952407582600/statements/last
Response data
{
"data":" "{
" ""issuerId":" ""1234",
" ""accountIdentifier":" "{
" ""accountReference":" ""12343037952407582600"" "
},
" ""cycleClosureDate":" ""2022-11-29T23:00:00.000+00:00",
" ""creationDate":" ""2022-12-21T09:52:00.000+00:00",
" ""paymentDueDate":" ""2022-11-29T23:00:00.000+00:00",
" ""directDebitAmount":" "{
" ""value": 0,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""theoricDirectDebitAmount":" "{
" ""value": 0,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""cycleBalance":" "{
" ""value": -40946,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""previousCycleBalance":" "{
" ""value": -41031,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""totalOfPayment":" "{
" ""value": 0,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""previousCycleClosureDate":" ""2022-10-27T22:00:00.000+00:00",
" ""nextCycleClosureDate":" ""2022-12-29T23:00:00.000+00:00",
" ""amountDue":" "{
" ""value": 0,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""initialPastAmountDue":" "{
" ""value": 0,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""initialRemainingAmountDue":" "{
" ""value": 0,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
}" "
}
}
List Operations For The Last Statement Of An Account
The API is used to get the list of operations of the last statement generated for an account.
The input account can be provided by using:
- the account reference
- or the issuer external account reference
Below an example of request for the:
- account: 12343037952407582600
- Issuer: 1234
In the response, there is only one operation: a statement fee.
GET /api/v2/issuers/1234/accounts/12343037952407582600/statements/last/operations
Response data
{
" ""data":" "[
" "{
" ""issuerId":" ""1234",
" ""operationIdentifier":" "{
" ""operationId":" ""1000000000370386"" "
},
" ""description":" ""Portoersatz KK-Abrechnung",
" ""externalOperationCode":" ""2033",
" ""feeType":" ""STATEMENT_FEE",
" ""operationKind":" ""FEE",
" ""postingDate":" ""2022-12-21T09:48:36.489+00:00",
" ""referenceAmount":" "{
" ""value": 85,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""reversal":" false",
" ""subFeeType":" ""STATEMENT",
" ""transactionAmount":" "{
" ""value": 85,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""valueDate":" ""2022-11-29T23:00:00.000+00:00",
" ""externalOperationDate":" ""2022-12-21T09:48:36.473+00:00",
" ""externalOperationReference":" ""5f5395a439ea4915836ff4a874f52af3",
" ""externalOperationServicePoster":" ""WLP-CAS"" "
}" "
]
}
Reprint Last Statement For An Account
The API is used to request the reprint of the last statement for an account.
The input account can be provided by using:
- the account reference
- or the issuer external account reference
As a result, the statement data is extracted again and pushed to the output management module.
API links
Below an example of request for:
- the account 12343037952407582600
- the issuer 1234
POST /api/v2/issuers/1234/accounts/12343037952407582600/statements/last/reprint
Response data
{
" ""responseMetadata":" "{
" ""correlationId":" ""df9b036c-d8d3-4445-bb3f-c80d8cd8fe12",
" ""statusMessage":" ""Executed successfully",
" ""statusCode": 200,
" ""responseDateTime":" ""2022-12-21T11:56:41.712+0100",
" ""timeTakenMs": 77
},
" ""data":" "{
" ""accountIdentifier":" "{
" ""accountReference":" ""12343037952407582600"" "
},
" ""requestedDate":" ""2022-12-21T10:56:41.681+00:00"" "
}
}
List Operations For Next Account Statement
The API is used to get the list of operations generated for an account since the last cycle closure date. Those operations will be part of the next statement.
The input account can be provided by using:
- the account reference
- or the issuer external account reference
API links
Below is an example where the request retrieves the operations of the next statement for:
- Account reference : 12343037952407582600
- Issuer : 1234
GET /api/v2/issuers/1234/accounts/12343037952407582600/statements/next/operations
Response data
{
" ""data":" "[
" "{
" ""issuerId":" ""1234",
" ""operationIdentifier":" "{
" ""operationId":" ""1000000000370512"" "
},
" ""acquirerReferenceData":" ""74198812354221219180000",
" ""cardAcceptorCity":" ""44131447816",
" ""cardAcceptorCountry":" ""276",
" ""cardAcceptorName":" ""WEB ANNONCE",
" ""description":" ""WEB ANNONCE 44131447816 276",
" ""externalOperationCode":" ""1035",
" ""maskedPan":" ""424201******0010",
" ""merchantCategoryCode":" ""5712",
" ""operationCode":" ""NORMAL_PURCHASE",
" ""operationKind":" ""TRN",
" ""postingDate":" ""2022-12-21T11:02:42.646+00:00",
" ""reconciliationAmount":" "{
" ""value": 74825,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""referenceAmount":" "{
" ""value": 74825,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""reversal":" false",
" ""transactionAmount":" "{
" ""value": 74825,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""transactionDate":" ""2022-12-18T23:00:00.000+00:00",
" ""valueDate":" ""2022-12-19T23:00:00.000+00:00",
" ""cardIdentifier":" "{
" ""cardReference":" ""2000000000248652"" "
},
" ""externalOperationDate":" ""2022-12-21T11:02:42.155+00:00",
" ""externalOperationReference":" ""10000000000273000",
" ""externalOperationServicePoster":" ""ITP",
" ""pan":" ""4242010796210010",
" ""acquisitionMaterial":" ""INTERNET",
" ""cardAcceptorIdCode":" ""208043134881626",
" ""entryMode":" ""UNKNOWN",
" ""approvalCode":" ""120239",
" ""pointOfSaleEnvironment":" "" ",
" ""mailPhoneEcommerceAndPaymentIndicator":" ""7"" "
}" "
]
}
Retrieve Statement With A Given Cyclic Closure Date
The API is used to get the financial information for an account statement such as: previous cycle balance (start balance), end cycle balance, due amount, total of payments, ...
The input account can be provided by using:
- the account reference
- or the issuer external account reference
The statement involved by the request has to be provided by giving the cycle closure date.
API links
Below is an example where the request retrieves the financial information of the statement for:
- Account reference : 12343037952407582600
- Issuer : 1234
- Cycle closure date: 2022-07-28T22:00:00Z
GET /api/v2/issuers/1234/accounts/12343037952407582600/statements/2022-07-28T22:00:00Z
Response data
{
" ""responseMetadata":" "{
" ""correlationId":" ""6ca2edae-559d-400b-a224-8d28d5aa156d",
" ""statusMessage":" ""Executed successfully",
" ""statusCode": 200,
" ""responseDateTime":" ""2022-12-21T12:13:17.940+0100",
" ""timeTakenMs": 29
},
" ""data":" "{
" ""issuerId":" ""1234",
" ""accountIdentifier":" "{
" ""accountReference":" ""12343037952407582600"" "
},
" ""cycleClosureDate":" ""2022-07-28T22:00:00.000+00:00",
" ""paymentDueDate":" ""2022-07-28T22:00:00.000+00:00",
" ""theoricDirectDebitAmount":" "{
" ""value": 27733,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""cycleBalance":" "{
" ""value": 55465,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""previousCycleBalance":" "{
" ""value": 60000,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""totalOfPayment":" "{
" ""value": 30000,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""previousCycleClosureDate":" ""2022-06-29T22:00:00.000+00:00",
" ""nextCycleClosureDate":" ""2022-08-29T22:00:00.000+00:00",
" ""amountDue":" "{
" ""value": 5000,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""initialPastAmountDue":" "{
" ""value": 0,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
},
" ""initialRemainingAmountDue":" "{
" ""value": 5000,
" ""exponent": 2,
" ""isoCode":" ""EUR"" "
}" "
}
}
List Operations From A Statement With A Given Cyclic Closure Date
The API is used to get the list of operations posted to an account included in a statement.
The input account can be provided by using:
- the account reference
- or the issuer external account reference
The statement involved by the request has to be provided by giving the cycle closure date.
API links
Below is an example where the request retrieves the operations of the statement for:
- Account reference : 12343037952407582600
- Issuer : 1234
- Cycle closure date: 2022-07-28T22:00:00Z
GET /api/v2/issuers/1234/accounts/12343037952407582600/statements/2022-07-28T22:00:00Z /operations
Response data
{
"data":[
{
"issuerId":"1234",
"operationIdentifier":{
"operationId":"1000000000268017"
},
"description":"Ausgleich Kreditkartenabrechnung",
"externalOperationCode":"1067",
"operationKind":"PAY",
"postingDate":"2022-07-18T13:13:03.749+00:00",
"referenceAmount":{
"value":-30000,
"exponent":2,
"isoCode":"EUR"
},
"reversal":false,
"transactionAmount":{
"value":-30000,
"exponent":2,
"isoCode":"EUR"
},
"valueDate":"2022-07-17T22:00:00.000+00:00",
"externalOperationDate":"2022-07-18T13:13:03.748+00:00",
"externalOperationReference":"b6a8551f1ee8498b98c0f6d22529a8d6",
"externalOperationServicePoster":"WLP-CAS"
},
{
"issuerId":"1234",
"operationIdentifier":{
"operationId":"1000000000268018"
},
"description":"Sub PAY operation (apportionment) - Ausgleich Kreditkartenabrechnung",
"operationKind":"SUBPAYOP",
"postingDate":"2022-07-18T13:13:03.759+00:00",
"referenceAmount":{
"value":-5000,
"exponent":2,
"isoCode":"EUR"
},
"reversal":false,
"transactionAmount":{
"value":-5000,
"exponent":2,
"isoCode":"EUR"
},
"valueDate":"2022-07-17T22:00:00.000+00:00",
"externalOperationDate":"2022-07-18T13:13:03.748+00:00",
"externalOperationReference":"0b4edad851194b7f9056cbfa8fd6a843",
"externalOperationServicePoster":"WLP-CAS"
},
{
"issuerId":"1234",
"operationIdentifier":{
"operationId":"1000000000280040"
},
"description":"Finanzierungsgebühren",
"externalOperationCode":"1201",
"operationKind":"INT",
"postingDate":"2022-08-17T11:26:36.553+00:00",
"referenceAmount":{
"value":465,
"exponent":2,
"isoCode":"EUR"
},
"reversal":false,
"transactionAmount":{
"value":465,
"exponent":2,
"isoCode":"EUR"
},
"valueDate":"2022-08-16T22:00:00.000+00:00",
"externalOperationDate":"2022-08-17T11:26:36.551+00:00",
"externalOperationReference":"01f6ab9128fb4d94a64d67c2071cd4d0",
"externalOperationServicePoster":"WLP-CAS"
}
]
}
Reprint A Statement Identified By Its Cyclic Closure Date
The API is used to request the reprint of a statement for an account.
The input account can be provided by using:
- the account reference
- or the issuer external account reference
The statement involved by the request has to be provided by giving the cycle closure date. As a result, the statement data is extracted again and pushed to the output management module.
API links
Below an example of request for:
- the issuer: 1234
- the account: 12343037952407582600
- the cycle closure date: 2022-10-28T00:00:00Z
POST /api/v2/issuers/1234/accounts/12343037952407582600/statements/2022-10-28T00:00:00Z/reprint
Response data
{
" ""responseMetadata":" "{
" ""correlationId":" ""cc04a0d7-6dfc-4eb0-9e70-782ef93cb6d1",
" ""statusMessage":" ""Executed successfully",
" ""statusCode": 200,
" ""responseDateTime":" ""2022-12-21T12:52:44.616+0100",
" ""timeTakenMs": 127
},
" ""data":" "{
" ""accountIdentifier":" "{
" ""accountReference":" ""12343037952407582600"" "
},
" ""requestedDate":" ""2022-12-21T11:52:44.581+00:00"" "
}
}
Customer Address Management
A Customer address can be of different types, such as postal address, email address or phone number.
The appropriate address type will be selected depending on the business usage, for example statement sending or card delivery.
Customer addresses can be created during the creation of the Contract or when additional Cards and Accounts are created.
A customer should have at least one main address (addressLabel: MAIN_POSTAL_ADDRESS)
Each Address is identified by a unique address Reference and optionally by a unique issuer Address External Reference per Issuer.
Through the API, Issuer can:
- Create additional addresses for a customer
- Retrieve customer address
- Update address
- Deactivate address
- Activate address
- Add an address usage
- Remove an address usage
- Invalidate an address
Retrieve customer address
The API returns the current version of the customer's address identified with:
- the reference of the customer,
- the reference of the address.
This address is either a permanent address or a temporary address (if this one is active at the time of request).
The address identifiers, address attributes, address usages and entity reference (application domain of the address) are displayed in the response.
API Links
Below an example for :
- Customer: CUS10000375016
- Issuer: 1234
GET /api/v2/issuers/1234/customers/CUS10000375016/addresses
Response data:
{
"data": [
{
"issuerId": "1234",
"addressIdentifier": {
"addressReference": "ADDREF_MAIN_POSTAL_ADDRESS_1000000000417761",
"issuerAddressExternalReference": "ADDRESS-202301260053"
},
"addressLabel": "MAIN_POSTAL_ADDRESS",
"addressType": "POSTAL_MAIL",
"postalAddress": {
"line1": "HENRI MARCADAS",
"line2": "line2",
"line4": "BERLIN",
"line5": "DE",
"townName": "BERLIN",
"country": "DE"
},
"status": "ACTIVE",
"startDate": "2023-01-26T10:23:47.029+00:00"
}
]
}
Create address for a customer
The API allows to create either a permanent address or a temporary address for the customer, identified with his reference.
An address includes the following information:
- the issuer address external reference
- the label (eg MAIN_POSTAL_ADDRESS),
- the type (mail address, phone number, email) and the corresponding data
- the address usages
- the start date (optional, by default the current date is used)
- the end date (conditional, is mandatory when creating a temporary address)
If the label of the address is already used for the customer, a new version will be created and active once the start date is reached.
When creating a temporary address, If a temporary address already exists with an overlap on the activity period then only the newly created address will be kept and the old one will be removed.
The temporary address is active between its start date and end date.
One or several address usages can be added to the address (in order to retrieve this address). An address usage is used for specific business process/service. When adding a usage to an address, the usage is immediately active and if it is already assigned to another address, it is removed from this latter.
For information, the main postal address is mandatory.
In return, the API provides the address Reference calculated by our system.
API Links
Below an example of create address request for the customer:
- Customer: CUS10000375016
- Issuer: 1234
POST /api/v2/issuers/1234/customers/CUS10000375016/addresses
Request data:
{
"issuerAddressExternalReference":"string",
"addressLabel":"MAIN_POSTAL_ADDRESS",
"addressType":"POSTAL_MAIL",
"postalAddress":{
"line1":"MARCADAS Henri",
"line2":"line2",
"line3":"line3",
"line4":"line4",
"line5":"line5",
"buildingNumber":"15",
"boxNumber":"AZ",
"streetName":"street",
"postCode":"postcode",
"townName":"town",
"countrySubdivision":"region",
"country":"DE"
},
"addressUsages":[
{
"addressUsageName":"CONTRACT_LETTER",
"serviceCode":"CONTRACT_SERVICE"
}
],
"startDate":"2023-02-17T08:44:28.437Z"
}
Response data:
{
"responseMetadata":{
"correlationId":"f1ed54c9-7682-4984-8c8d-1db4cda96a5e",
"statusMessage":"Executed successfully",
"statusCode":200,
"responseDateTime":"2023-02-17T09:52:40.896+0100",
"timeTakenMs":497
},
"data":{
"addressIdentifier":{
"addressReference":"ADDREF_SECOND_POSTAL_ADDRESS_1000000000440549",
"issuerAddressExternalReference":"string"
}
}
}
Update Address
The API allows to update the address of a customer, identified with the reference of the customer and the reference of the address.
All the attributes must be provided even those unchanged.
The API allows to validate an address ('invalid' status is set to false). But it's not possible to invalidate an address changing the value of the invalid 'flag' to true. If the user tries to do this action, an error message is returned.
One or several address usages can be added to the address (in order to retrieve this address). An address usage is used for specific business process/service. When adding a usage to an address, the usage is immediately active and if it is already assigned to another address, it is removed from this latter.
All the usages already linked to the address cannot be removed via this API.
API Links
Below an example of the update request for:
- The issuer: 1234
- The customer: CUS10000375016
- The address reference: ADDREF_SECOND_POSTAL_ADDRESS_1000000000440549
As the address reference ( ADDREF…. 1000000000440549) is inactive, the API creates a new address reference: ADDREF_SECOND_POSTAL_ADDRESS_1000000000440550
Note that if the input address reference was active, the API updates the address reference and doesn’t create another address reference (see the result in the chapter List addresses for a customer).
PUT /api/v2/issuers/1234/customers/CUS10000375016/addresses/ADDREF_SECOND_POSTAL_ADDRESS_1000000000440549
Request data:
{
"issuerAddressExternalReference":"string",
"addressLabel":"SECOND_POSTAL_ADDRESS",
"addressType":"POSTAL_MAIL",
"postalAddress":{
"line1":"MARCADAS Henri",
"line2":"line2",
"line3":"line3",
"line4":"line4",
"line5":"line5",
"buildingNumber":"15",
"boxNumber":"ABC box number",
"streetName":"street",
"postCode":"postcode",
"townName":"town",
"countrySubdivision":"region",
"country":"DE"
},
"addressUsages":[
{
"addressUsageName":"CONTRACT_LETTER",
"serviceCode":"CONTRACT_SERVICE"
}
]
}
Response data:
{
"responseMetadata":{
"correlationId":"046eef54-bbd8-492e-b502-ec5c74d68775",
"statusMessage":"Executed successfully",
"statusCode":200,
"responseDateTime":"2023-02-17T10:17:56.639+0100",
"timeTakenMs":41
},
"data":{
"addressIdentifier":{
"addressReference":"ADDREF_SECOND_POSTAL_ADDRESS_1000000000440550"
}
}"a"
}
Activate Address
The API allows activation on demand of an address by providing
- the reference of the customer,
- the reference of the address
- the issuer Id.
If a temporary address exists, it becomes also active.
The address identifiers, address attributes and address usages are displayed in the response.
API Links
Deactivate Address
The API is used to deactivate the address, identified with the customer reference and the address reference.
The status becomes 'INACTIVE'.
This action is forbidden in case of:
- the address is the MAIN_POSTAL_ADDRESS
- an usage is linked to the address.
API Links
Below an example of deactivate address request for:
- the issuer: 1234
- the customer: CUS10000375016
- the address reference: ADDREF_SECOND_POSTAL_ADDRESS_1000000000440549
POST /api/v2/issuers/1234/customers/CUS10000375016/addresses/ADDREF_SECOND_POSTAL_ADDRESS_1000000000440549/deactivate
Response data:
{
"data":{
"addressIdentifier":{
"addressReference":"ADDREF_SECOND_POSTAL_ADDRESS_1000000000440549",
"issuerAddressExternalReference":"string"
},
"status":"INACTIVE"
}
}
Add an address usage
The address usage describes in which business case the address will be used (eg statement sending, cad delivery, ...).
The complete authorized values list is shared during the product configuration between the issuer and WL.
This API allows a usage determined by its name (e.g. STATEMENT_SENDING) to be linked to the entity reference of the address (e.g. card contract reference) and the service code (e.g. ACCOUNT_SERVICE)
To create an address usage, it is needed to provide:
- Issuer ID
- Customer reference or the issuer customer reference
- Address reference or the issuer address reference
API Links
To create an address usage, it is needed to provide:
Below an example of the update request for:
- The issuer: 1234
- The customer: CUS10000375016
- The address reference: ADDREF_SECOND_POSTAL_ADDRESS_1000000000440550
In this example, the address will be used for the dispute letters.
POST /api/v2/issuers/1234/customers/CUS10000375016/addresses/ADDREF_SECOND_POSTAL_ADDRESS_1000000000440550/address-usages
Request data:
{
"addressUsageName":"DISPUTE",
"serviceCode":"DISPUTE_SERVICE"
}
Response data:
{
"responseMetadata":{
"correlationId":"a7cf57a9-5abe-462d-9b38-24c2bedc2bf0",
"statusMessage":"Executed successfully",
"statusCode":200,
"responseDateTime":"2023-02-17T12:05:59.187+0100",
"timeTakenMs":233
},
"data":{
"addressUsageName":"DISPUTE",
"serviceCode":"DISPUTE_SERVICE"
}
}
Remove an address usage
The API deletes the address usages linked to one address.
These address usages are filtered by the request params:
- addressUsageName (for definition see the ressource addressUsage), mandatory
- entityReference (for definition see the ressource addressUsage), optional
- serviceCode (for definition see the ressource addressUsage), mandatory
If the entityReference is empty and the API finds several addresseUsages (for the addressUsageName and serviceCode in request param), then the list of addressUsages will be deleted.
API Links
Below an example of delete address request for
- the issuer: 1234
- the customer: CUS10000375016
- the address reference: ADDREF_SECOND_POSTAL_ADDRESS_1000000000440549
DELETE /api/v2/issuers/1234/customers/CUS10000375016/addresses/ADDREF_SECOND_POSTAL_ADDRESS_1000000000440549/address-usages?serviceCode=CONTRACT_SERVICE&addressUsageName=CONTRACT_LETTER Response
Response data:
{
"responseMetadata":{
"correlationId":"e2ac07b1-861e-48cc-bc61-015f3e1801df",
"statusMessage":"Executed successfully",
"statusCode":200,
"responseDateTime":"2023-02-17T10:02:30.775+0100",
"timeTakenMs":39
},
"data":{
"addressUsages":[
{
"addressUsageName":"CONTRACT_LETTER",
"serviceCode":"CONTRACT_SERVICE"
}
]
}
}
Invalidate an address
The API is used to invalidate the address identified with the customer reference (external or internal) and the address reference (external or internal).
The invalidation is applied only on the permanent address.
The address must be a postal address. If the user tries to invalidate another kind of address (PHONE/E_MAIL), an error is returned.
The attribute 'invalid' becomes 'true'.
API Links