Credit Instalment Management

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

Enable "on this page" menu on doc section
On

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.

Benefits for you!

puzComplete

Provide your merchants with the details of every merchant payment.

loc

One location

Present the merchant payment and the transactions on one location.

own

 

Own environment

Present transaction data in your own app or portal based on your own client data.
Enable "on this page" menu on doc section
On

Accounts (Features For Pre-paid and Credit Cards)

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.

 

Enable "on this page" menu on doc section
On

Customer

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:

Enable "on this page" menu on doc section
On

Account Insurance Contract

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

Enable "on this page" menu on doc section
On

Balance and Payment

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

Enable "on this page" menu on doc section
On

Statement Management

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""    "
   }
}
Enable "on this page" menu on doc section
On

Customer Address Management

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"
        }

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

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

Enable "on this page" menu on doc section
On