Contract

Contract

Contract refers to the Customer contracts created in our solution. The contract inherits default value from Product with the possibility to override  some specific parameters, such as fees, terms and conditions, credit limit, card layout reference.

Each Contract is identified by a unique contractReference and optionally by a unique issuerContractExternalReference per Issuer.

 

Contract Creation

create-consumer-contract.png

In order to create a contract for a customer, the API Create consumer contract is used : POST /issuers/{issuerId}/contracts/create-consumer-contract

As a prerequisite to create a contract and its related Cards and Accounts, the Issuer and Product should be configured and their references known by the Issuer. Cards and Accounts are created according to the product configuration

The request is composed of two parts

  • an optional list of customers to be created and that could be used as contractOwner, cardHolder, or accountOwner. By default the contractOwner is the cardHolder and the accountOwner.
  • the contract structure referring to the Product via the issuerProductExternalReference and the different Card (cardTemplateReference) and Account (accountTemplateReference) Templates defined for this Product. The attributes of the request could be used to override some of the default behaviors defined at Product level
{
   "customers":[
      {
         "requestCorrelationId":"1",
         "courtesyTitle":"Mrs",
         "lastName":"Lena",
         "firstName":"Broderick",
         "addresses":[
            {
               "addressLabel":"MAIN_POSTAL_ADDRESS",
               "addressType":"POSTAL_MAIL",
               "postalAddress":{
                  "line1":"address_line1_string_1",
                  "country":"country_string_1"
               }
            }
         ]
      }
   ],
   "contract":{
      "issuerProductExternalReference":"issuerProductExternalReference",
      "contractOwnerRequestCorrelationId":"1",
      "accountHierarchy":{
         "accounts":[
            {
               "accountTemplateReference":"RootAccountTemplateReference"
            },
            {
               "accountTemplateReference":"ChildAccountTemplateReference"
            }
         ]
      },
      "cardContracts":[
         {
            "cardTemplateReference":"cardTemplateReference"
         }
      ]
   }
}

As a result the Contract is created for the customer with its Card Contracts and Accounts. 

Adding additional cards and accounts

 add-cards-and-accounts

To add cards and related accounts to an existing contract use the following endpoint  : POST /issuers/{issuerId}/contracts/{contractReference}/add-cards-accounts by providing the issuerId of the Issuer and contractReference identifying the Contract.

Contract Closure

Contracts can be closed either immediately or scheduled using the endpoint POST /issuers/{issuerId}/contracts/{contractReference}/close

 

Other Contract APIs

Furthermore the contracts can be managed through the following endpoints:

  • Retrieve contract data : GET /issuers/{issuerId}/contracts/{contractReference}
  • Retrieve contract owner : GET /issuers/{issuerId}/contracts/{contractReference}/contract-owner
  • List accounts for a given contract : GET /issuers/{issuerId}/contracts/{contractReference}/accounts
  • List card contracts for a given contract : GET /issuers/{issuerId}/contracts/{contractReference}/card-contracts

 

Enable "on this page" menu on doc section
On

Address

Address

A Customer address can be of different types as postal address, email address or phone number.

The appropriate address type will be selected depending on the business usage, as example for statement sending or card delivery. 

The customer addresses could be created during the creation of the Contract or when additional Cards and Accounts are created.

A customer should at least have one main address (addressLabel: MAIN_POSTAL_ADDRESS)

 

Each Address is identified by a unique addressReference and optionally by a unique issuerAddressExternalReference per Issuer.

 

An Issuer can create additional addresses for a customer using the API Create address for a customer : POST /issuers/{issuerId}/customers/{customerReference}/addresses by providing the issuerId of the Issuer and customerReference identifying the Customer.

 

Furthermore the addresses could me managed and updated through the following endpoints:

  • Retrieve customer address : GET /issuers/{issuerId}/customers/{customerReference}/addresses/{addressReference}
  • Update address :  PUT /issuers/{issuerId}/customers/{customerReference}/addresses/{addressReference}
  • Deactivate address : POST /issuers/{issuerId}/customers/{customerReference}/addresses/{addressReference}/deactivate
  • Activate address :  POST /issuers/{issuerId}/customers/{customerReference}/addresses/{addressReference}/activate

 

Enable "on this page" menu on doc section
On

Customer

Customer

A customer is a person or a company 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

 

Each Customer is identified by a unique customerReference and optionally by a unique issuerCustomerExternalReference per Issuer.

 

The customer is created during the creation of the Contract or when additional Cards and Accounts are provided.

POST /issuers/{issuerId}/contracts/create-consumer-contract (by providing customers information)

POST /issuers/{issuerId}/contracts/{contractReference}/add-cards-accounts (by providing customers information)

 

In order to retrieve customer information, the API GET /issuers/{issuerId}/customers/{customerReference} should be used by providing the issuerId of the Issuer and customerReference identifying the Customer.

Customer data could be updated using  the API PUT /issuers/{issuerId}/customers/{customerReference} 

 

Each customer can have :

  • one or many contracts that can be retrieved using the API GET /issuers/{issuerId}/customers/{customerReference}/contracts
  • one or many accounts  that can be retrieved using the API GET /issuers/{issuerId}/customers/{customerReference}/accounts
  • one or multiple cards that can be retrieved using the API GET /issuers/{issuerId}/customers/{customerReference}/card-contracts
Enable "on this page" menu on doc section
On

Product

Product

The Product represents what is sold to a Customer.

Products are organized in product catalogue, that is a specific set of products for an issuer.

A product is a set of parameters and features that defines the behavior and functionalities of a set of Cards and Accounts.

product-configuration

 

The configuration of the product is performed by Worldline based on Issuer requirements through the definition of templates linked to the product

These templates are used in the APIs in order to facilitate the creation of the Contract and its associated Cards and Accounts

POST /issuers/{issuerId}/contracts/create-consumer-contract (by providing issuerProductExternalReference, cardTemplateReference and accountTemplateReference)

POST /issuers/{issuerId}/contracts/{contractReference}/add-cards-accounts (by providing issuerProductExtensionExternalReference)

 

Enable "on this page" menu on doc section
On

Issuer

Issuer

An Issuer is a bank or financial organization that makes debit, credit, and/or prepaid cards available to consumers on behalf of payment card schemes.

Our solution support issuers hierarchy as presented in the picture, so that the product catalogue could be shared across the bank group and its subsidiaries while leaving the possibility for subsidiaries to define their own products and functionalities at their level

 issuer_hierarchy

Each Issuer (or sub-issuers) is identified by a unique issuerId which is to be used in all the business APIs endpoints.

The list of issuers that are authorized for a given client can be retrieved using the following API: GET /issuers/

Enable "on this page" menu on doc section
On

WL 1-Click Technical Concepts

WL 1-Click Technical Concepts

Introduction

WL 1-Click Card Issuing Processing provides end-to-end and real time processing by managing debit, credit and prepaid cards. The core services allow you to launch your card product quickly and easily.

The WL 1-Click Card Issuing Processing API has been designed as a REST API.

Each resource is accessible under a clearly named URL and the HTTP response codes are used to relay status. HTTP Verbs like GET and POST are used to interact with the resources. To ease the integration with clients, main resources are identified either using issuer references either internal references generated on WL systems.

JSON is used for all payloads, including metadata information.

Authentication

WL 1-Click Card Issuing Processing API uses a secure authentication mechanism keeping the data and the interaction between the issuer and Worldline secure and reliable. In order to authenticate on the API via Oauth2, you first need to get provided with a Consumer Key and Consumer Secret to retrieve access_token by calling our Oauth2 Authentication server and then try out the APIs via the developer portal or your app.

Request:
curl --location --request POST 'https://issuing-solutions.eae.apis.svc.as8677.net/oauth/accesstoken' \
--header 'Authorization: Basic {{Consumer Key and Consumer Secret}}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials'

Response:
{
    ...
    "access_token": {{access_token}}",
    ...
}

Response codes

WL 1-Click Card Issuing Processing API uses basic HTTP response codes to indicate the resulting status of each request.

  • Codes in the 2xx range indicate success
  • Codes in the 4xx range indicate an error
  • Codes in the 5xx range indicate a server error

Metadata

WL 1-Click Card Issuing Processing API Responses contains two separate part : 

  • responseMetadata is containing technical information about the execution of the request.
  • data the functional and business data.

The responseMetadata is formatted as shown hereafter and contains the following information

  • correlationId : WL-Correlation-Id from the headers
  • statusMessage : Message about Execution Status
  • statusCode : HTTP Response Code (same than Response one)
  • responseDateTime : when response is received
  • timeTakenMs : elapsed ms time on server time (for 200 OK cases)
Response :
{
    "responseMetadata": {
        "correlationId": "8f7cb0d5-3f5b-4935-bc10-e2c45b46b5df",
        "statusMessage": "Executed successfully",
        "statusCode": 200,
        "responseDateTime": "2021-10-13T15:59:50.302+0200",
        "timeTakenMs": 129
    },
    "data": {
        ...
    }
}

Request correlation identifier

Each API request has an associated correlation identifier. This correlation identifier can be found metadata information and in WL-Correlation-ID  Request headers. This correlation identifier can be set in WL-Correlation-ID Request headers and is used to provide support about a specific request. If not provided, it's generated by WL system as an UUID.

Pagination

All of the APIs that could return a huge list of resources are supporting pagination using the page and offset parameters in the request formatted on with the following way : ?page={{page}}&offset={{offset}}

Request with default offset:
{{baseUrl}}/issuers/{{issuerId}}/accounts/{{accountReference}}/operations?page=5

Request with default offset:
{{baseUrl}}/issuers/{{issuerId}}/accounts/{{accountReference}}/operations?page=5&offset=100

Field expansion

Some of the fields can be expanded in order to retrieve additional information when retrieving the detail of one resource within the same request by using the embed request parameter. Multiple fields can be provided and should be separated by a comma (,). By default fields that can be expanded are not provided in the response

Request:
{{baseUrl}}/issuers/{{issuerId}}/cards/{{cardReference}}?embed=cardContract

Field filtering

In order to retrieve only the attributes that are relevant in the response of the APIs, the filter parameter can be used in the request. The name of the fields to be retrieved should be provided and you can filter recursively by specifying nested fields after a dot(.). Multiple fields can be provided and should be separated by a comma (,)

Request:
{{baseUrl}}/issuers/{{issuerId}}/contracts/create-consumer-contract?filter=contract.contractIdentifier,contract.cardContracts.card.cardIdentifier

Versionning

The major versions of the WL 1-Click Card Issuing Processing APIs are distinguished by the version indicator in the URLs (currently the V2 /api/v2/ ). Minor version updates will not result in a new version indicator in the API URLs. All minor updates are considered to be backwards compatible. Only when changes are not backwards compatible, will we issue a new major version of the API.

 

 

Enable "on this page" menu on doc section
On

Core Resources

 

Issuer

An issuer is a financial organization that makes debit, credit, and/or prepaid cards available to consumers on behalf of payment card schemes. It could be a bank or another supervised financial institution.

 

Product

The product represents what is sold to a customer. A product is a set of parameters and features that defines the behavior and functionalities of a set of cards and accounts. For example, card product parameters determine the renewal rules, the card account working mode, if there are specific transaction fees and/or membership fee. Further card product parameters define limits and velocity controls to restrict where and how associated cards are used. 

 

Customer

A customer is a person or a company who has subscribed to services offered by the issuer.

 

Address

A customer address is the generic term for postal address, email address or phone number. Addresses can be of two types, personal address or company address, and could be used in several ways according to the purpose for which the address is used, as example for statement sending or card delivery. 

 

Contract

Contract refers to the Customer contracts created in our solution. The contract is the link between cards, accounts and customer data. The contract inherits default value from Product with the possibility to override  some specific parameters, such as fees, terms and conditions, credit limit, card layout reference.

 

Card Contract

A Card Contract represents a single card owner by a cardholder and is linked to a card profile which defines all allowed business rules (e.g. replacement, renewal) and card properties (e.g. chip data) required to create a card. Under a card contract the first card is created and all next cards in case of automatic renewals, card replacements.

 

Card

A card is a payment mean that enables a customer to access funds or make purchases against a line of credit. Cards can have different technologies (EMV, Magnetic Stripe, Contactless), could be physical or virtual.

 

Order

An order refers to card order and PIN mailer data extractions that are sent to card producer and PIN mailer editors respectively.

 

Account

Accounts manage monetary operations, balances and restrictions, and are typically assigned to account owners. An account owner is typically an individual, or a legal entity, who has signed a contract with an issuing institution, so a customer.

Accounts are used to process operations, manage a balance in a dedicated currency,  control the credit risk, perform transaction charging, calculate interests (credit or debit), generate an invoice (statement), process payments.

 

Operation

Operations can be transactions received from clearing or internal generated operations ( e.g. fees, refund, chargeback...)  that are posted on accounts.

 

Authorization

Authorizations are request message from a connected scheme which are processed by our authorization server. Based on several business rules (e.g. card status, velocity limits check ...) the authorizations could either be accepted or declined.

 

Authorization Business Case

An authorization business case can refer to one or several consecutive Authorizations (for example, a reservation in a hotel with a subsequent confirmation or a purchase with a subsequent cancellation).

 

Temporary Credit Limit

A temporary credit limit, that extends or reduces the account credit limit could be defined at account level. In this case, the value of the temporary limit override the content of the normal credit limit

 

Authorization Restriction

The card usage can be restricted using multiple criteria, such as transaction type (ecom, ATM), acceptance domain (allowed regions), active start and end date. 

 

Authorization Restriction Override

Restrictions are either enabled or disabled by default and can be overridden.

 

Velocity Limit

The velocity limit is a restriction based on usage frequency and the total amount on the card account. The purpose of a velocity limit is to limit a transaction in terms of amount and frequency, e.g. it might be allowed to withdraw 500€ per day on POS terminals in Europe.

 

Velocity Limit Override

On account level the defaults can be overridden. Overriding can be timely restricted by providing an activation period.

Enable "on this page" menu on doc section
On

Developer Portal Resource User Guide (delete)

Resource Description

Issuer


Issuer Product


Contract

Contract refers to the consumer and corporate contracts created in OPC (Offers, Products & Contracts) service using the provided product as template for the structure and default values. Products are built from Account and Card Templates, Profiles and Add-on services.


Contract Saving Measures

Saving measures are activated and deactivated on a contract for risk management purposes. They are used to close online services through authorization methods, lower Online Limits, update authorization methods with immediate payment mode to set the Force Account Check, switch account card payment from deferred to immediate payment mode, forbid cards delivery, block EMV Card Applications, put under control EMV Card Applications, deactivate Contactless Cards.


Card Contract

A card contract can be created for a card holder or as an anonymous contract. When creating a card from a card contract, a number of parameters are calculated based on the settings in the card profile, the selected models and the card contract.


 

Card

A card let cardholders access funds in checking or savings accounts or make purchases against a line of credit. Card types are being defined by a card schemes and a brand (e. g. Visa Classic Card, Visa Gold Card, MasterCard Standard, MasterCard Gold).


Card Order

An order refers to Card Order and PIN Mailer data extractions that are sent to Card Producer and PIN Mailer Editors respectively.


Customer

A customer is a person (individual) or a company who has subscribed to services offered by the issuer.


Customer Address

A customer Address is the generic term for postal address, email address or phone number. 

Addresses can be of two types; Personal Address or Company Address.

Addresses could get multiple usages describe which address is used and in which service. These usages are defined in the corresponding service; Account Service (Statement Sending, Invoice Sending) and Card Service (Virtual Card Sending, Card Delivery, PIN mailer Delivery, Activation Mode Delivery).


Account

Accounts are independent from any payment mean. They are used to process operations, manage a balance in a dedicated currency,  control the credit risk, perform transaction charging, calculate interests (credit or debit), generate an invoice (statement), process payments. Three types of accounts working modes are being supported; Pay Before, Pay Now, Pay Later.

Accounts are linked to form a hierarchy in order to set up multi-purpose products (mixture of debit and credit accounts), represent organizations (families or corporate structures), set up multi-currency accounts. Credit risk verifications can be expanded across the hierarchy. Consolidated invoicing and payment management is done on top level account for accounts lower in the hierarchy.


Account Authorization Restrictions 

The purpose of a restriction is to allow or refuse a transaction based on given rules. These rules are
implemented with an initial customer specific setup in Worldline Pay Front Office. Like this, a set of customer
specific standard restrictions can be implemented. The standard restrictions are permanently, but can be
changed, i.e. overwritten by using the Card Control API.
The approval and the refusal of transactions are managed by turning on or off - or by blocking or unblocking -
the concerned standard restriction.


The standard restrictions for Card Control are to block or unblock of :

  • cards temporarily or permanently
  • channels like
    • ATM / cash
    • card present (POS)
    • card not present (eCommerce, telephone)
    • card not present recurring
    • contactless online (NFC online)
    • magstripe
  • a single country, a list of single countries
  • regions (Geo Blocking)
  • merchant category codes (MCC Blocking)

It is also possible setup a mix of restrictions in WLP-FO, e.g. block or unblock ATMs in South Africa.

Each of these standard restrictions is per default set as blocked or unblocked, depending on the customer’s
need.


Each of the listed standard restrictions can be blocked or unblocked by calling the appropriate web service of
the Worldline Premium Gateway API. If the user e.g. blocks a card by using the appropriate web service, the
card is blocked immediately and without an end date.


Account Authorization Velocity Limits

The purpose of a velocity limit is to limit a transaction in terms of amount and frequency, e.g. it might be
allowed to withdraw 2,500€ per day on POS terminals in Europe.
The velocity limits are implemented with an initial customer specific setup in Worldline Pay Front Office. Like
this, a set of customer specific standard velocity limits can be implemented. The standard velocity limits are
permanently, but can be changed, i.e. overwritten by using the Card Control API.
The standard velocity limits for Card Control are

  • Cash (ATM, branch, POS)
  • eCommerce
  • POS
  • NFC

Depending on the customer’s need, each of the standard velocity limits is set per default with

  • a minimum amount and a flag, if this amount should be checked
  • a maximum amount and a flag, if this amount should be checked
  • a maximum counter and a flag, if this amount should be checked

A default velocity limit can further be combined with a country or a region, e.g.

  • ATM daily limit in the Netherlands
  • ATM daily limit in the Europeen Economic Area (w/o the Netherlands)
  • ATM daily limit worldwide (w/o the EEA)

Account Authorizations

Authorizations are approvals from a card issuer that the cardholder has sufficient funds to cover the cost of the transaction.


Account Credit Limit

Credit limits are applicable to Pay Later account types. A credit limit is the maximum amount of money an account owner can borrow. An account will typically have a single overall credit limit that restricts the total amount of unsettled activity permitted against the account.


Account Credit Installement Contract


Account Operations

Operations are posted on accounts, It could be clearing transactions, internal fees and interests, refund and redebits from Dispute management.


Account Statements


Dispute

Dispute cycle management provides the full life cycle management and organization of disputed transactions. A transaction can be disputed for a number of different reasons, such as when a cardholder detects that the transaction has been executed twice, when he does not recognize the transaction on his statement, or when services for the transaction were not delivered.

test

Enable "on this page" menu on doc section
On