Test_RN

Version 2.7.1 to 2.8.0

What's New


GET /issuers/{issuerId}/accounts/external-accounts/{issuerAccountExternalReference}/turnover-information

Retrieve turnover information for an account

The API is used to get the turnover information for an account

GET /issuers/{issuerId}/accounts/{accountReference}/turnover-information

Retrieve turnover information for an account

The API is used to get the turnover information for an account

GET /issuers/{issuerId}/companies/{customerReference}

Retrieve company's information

PUT /issuers/{issuerId}/companies/{customerReference}

Update company

The "update company" API allows the user to update the attributes of a customer. To identify the customer, it is needed to provide:

  • The issuer ID
  • The customer reference (internal or external) for which updates are required

The customer reference can be retrieved by using the "list customers" API. All the attributes must be given in input even if they remain unchanged. For that, It can be needed to use the "retrieve customer" API to get all the current attributes.

PATCH /issuers/{issuerId}/companies/{customerReference}

Update company partially

The "update company partially" API allows the user to update the attributes of a customer. To identify the customer, it is needed to provide:

  • The issuer ID
  • The customer reference (internal or external) for which updates are required

The customer reference can be retrieved by using the "List customers" API. With this API, only attributes that need to be updated must be given in input.

GET /issuers/{issuerId}/companies/external-customers/{issuerCustomerExternalReference}

Retrieve company information by external reference

PUT /issuers/{issuerId}/companies/external-customers/{issuerCustomerExternalReference}

Update Company

The "update Company" API allows the user to update the attributes of a customer. To identify the customer, it is needed to provide:

  • The issuer ID
  • The customer reference (internal or external) for which updates are required

The customer reference can be retrieved by using the "list customers" API. All the attributes must be given in input even if they remain unchanged. For that, It can be needed to use the "retrieve customer" API to get all the current attributes.

PATCH /issuers/{issuerId}/companies/external-customers/{issuerCustomerExternalReference}

Update Company partially

The "update customer partially" API allows the user to update the attributes of a customer. To identify the customer, it is needed to provide:

  • The issuer ID
  • The customer reference (internal or external) for which updates are required

The customer reference can be retrieved by using the "List customers" API. With this API, only attributes that need to be updated must be given in input.

GET /issuers/{issuerId}/companies

Retrieve list of company's information

POST /issuers/{issuerId}/companies

Create company

GET /issuers/{issuerId}/companies/{customerReference}/addresses

Retrieve company's Address information list

POST /issuers/{issuerId}/companies/{customerReference}/addresses

Create address for a company customer

The API creates an 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.

For information, the main postal address is mandatory.

In return, the API provides the address Reference calculated by our system.

GET /issuers/{issuerId}/companies/{customerReference}/addresses/{addressReference}

Retrieve company's address information by address ref

PUT /issuers/{issuerId}/companies/{customerReference}/addresses/{addressReference}

Update company address

The API updates all the attributes of a customer's address identified with the reference of the customer and the reference of the address. All the attributes must be provided even those unchanged. The identifiers stay unchanged.

GET /issuers/{issuerId}/companies/{customerReference}/addresses/external-addresses/{issuerAddressExternalReference}

Retrieve company's address information by externalAddress

PUT /issuers/{issuerId}/companies/{customerReference}/addresses/external-addresses/{issuerAddressExternalReference}

Update company address

The API updates all the attributes of a customer's address identified with the reference of the customer and the reference of the address. All the attributes must be provided even those unchanged. The identifiers stay unchanged.

GET /issuers/{issuerId}/companies/external-customers/{issuerCustomerExternalReference}/addresses

Retrieve company's Address information list by external reference

POST /issuers/{issuerId}/companies/external-customers/{issuerCustomerExternalReference}/addresses

Create address for a company

The API creates an 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.

For information, the main postal address is mandatory.

In return, the API provides the address Reference calculated by our system.

GET /issuers/{issuerId}/companies/external-customers/{issuerCustomerExternalReference}/addresses/{addressReference}

Retrieve address information by company external reference and address reference

PUT /issuers/{issuerId}/companies/external-customers/{issuerCustomerExternalReference}/addresses/{addressReference}

Update company address

The API updates all the attributes of a customer's address identified with the reference of the customer and the reference of the address. All the attributes must be provided even those unchanged. The identifiers stay unchanged.

GET /issuers/{issuerId}/companies/external-customers/{issuerCustomerExternalReference}/addresses/external-addresses/{issuerAddressExternalReference}

Retrieve address information by company external reference and address external reference

PUT /issuers/{issuerId}/companies/external-customers/{issuerCustomerExternalReference}/addresses/external-addresses/{issuerAddressExternalReference}

Update company address

The API updates all the attributes of a customer's address identified with the reference of the customer and the reference of the address. All the attributes must be provided even those unchanged. The identifiers stay unchanged.

POST /issuers/{issuerId}/companies/{customerReference}/addresses/{addressReference}/activate

Activate address of a company

POST /issuers/{issuerId}/companies/external-customers/{issuerCustomerExternalReference}/addresses/{addressReference}/activate

Activate address of a company

POST /issuers/{issuerId}/companies/{customerReference}/addresses/external-addresses/{issuerAddressExternalReference}/activate

Activate address of a company

POST /issuers/{issuerId}/companies/external-customers/{issuerCustomerExternalReference}/addresses/external-addresses/{issuerAddressExternalReference}/activate

Activate address of a company

POST /issuers/{issuerId}/companies/{customerReference}/addresses/{addressReference}/deactivate

Deactivate address of a company

POST /issuers/{issuerId}/companies/external-customers/{issuerCustomerExternalReference}/addresses/{addressReference}/deactivate

Deactivate address of a company

POST /issuers/{issuerId}/companies/{customerReference}/addresses/external-addresses/{issuerAddressExternalReference}/deactivate

Deactivate address of a company

POST /issuers/{issuerId}/companies/external-customers/{issuerCustomerExternalReference}/addresses/external-addresses/{issuerAddressExternalReference}/deactivate

Deactivate address of a company

POST /issuers/{issuerId}/companies/{customerReference}/addresses/{addressReference}/address-usages

Create an address usage for a company

This API allows to link a usage determined by its name (e.g. STATEMENT_SENDING), its entity reference (e.g. card contract reference) and its service code (e.g. ACCOUNT_SERVICE) and the address (identified with its internal reference) of a company (identified with its external reference).

DELETE /issuers/{issuerId}/companies/{customerReference}/addresses/{addressReference}/address-usages

Remove an address usage of a company

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.

POST /issuers/{issuerId}/companies/external-customers/{issuerCustomerExternalReference}/addresses/{addressReference}/address-usages

Create an address usage for a company

The address usage describes for which business case the address will be used (e.g., statement sending, card 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)

DELETE /issuers/{issuerId}/companies/external-customers/{issuerCustomerExternalReference}/addresses/{addressReference}/address-usages

Remove an address usage of a company

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.

POST /issuers/{issuerId}/companies/{customerReference}/addresses/external-addresses/{issuerAddressExternalReference}/address-usages

Create an address usage for a company

The address usage describes for which business case the address will be used (e.g., statement sending, card 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)

DELETE /issuers/{issuerId}/companies/{customerReference}/addresses/external-addresses/{issuerAddressExternalReference}/address-usages

Remove an address usage of a company

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.

POST /issuers/{issuerId}/companies/external-customers/{issuerCustomerExternalReference}/addresses/external-addresses/{issuerAddressExternalReference}/address-usages

Create an address usage for a company

This API allows to link a usage determined by its name (e.g. STATEMENT_SENDING), its entity reference (e.g. card contract reference) and its service code (e.g. ACCOUNT_SERVICE) and the address (identified with its external reference) of a company (identified with its external reference).

DELETE /issuers/{issuerId}/companies/external-customers/{issuerCustomerExternalReference}/addresses/external-addresses/{issuerAddressExternalReference}/address-usages

Remove an address usage of a company

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.

GET /issuers/{issuerId}/corporate-contracts/{contractReference}/corporate-employee-accounts/{accountReference}

Retrieve corporate employee Accounts

This API allows retrieving a particular corporate employee accounts from its reference or its issuer external reference

PATCH /issuers/{issuerId}/corporate-contracts/{contractReference}/corporate-employee-accounts/{accountReference}

Update Corporate employee account

The API allows to update a corporate Employee account

GET /issuers/{issuerId}/corporate-contracts/{contractReference}/corporate-employee-accounts/external-accounts/{issuerAccountExternalReference}

Retrieve corporate employee Accounts With External Account Ref

This API allows retrieving a particular corporate employee accounts from its reference or its issuer external reference

PATCH /issuers/{issuerId}/corporate-contracts/{contractReference}/corporate-employee-accounts/external-accounts/{issuerAccountExternalReference}

Update Corporate employee account by external account

The API allows to update a corporate Employee account

GET /issuers/{issuerId}/corporate-contracts/external-contracts/{issuerContractExternalReference}/corporate-employee-accounts/external-accounts/{issuerAccountExternalReference}

Retrieve corporate employee Accounts With External Contract Ref And External Account Ref

This API allows retrieving a particular corporate employee accounts from its reference or its issuer external reference

PATCH /issuers/{issuerId}/corporate-contracts/external-contracts/{issuerContractExternalReference}/corporate-employee-accounts/external-accounts/{issuerAccountExternalReference}

Update Corporate employee account by external contract and account

The API allows to update a corporate Employee account

GET /issuers/{issuerId}/corporate-contracts/external-contracts/{issuerContractExternalReference}/corporate-employee-accounts/{accountReference}

Retrieve corporate employee Accounts With External Contract Ref

This API allows retrieving a particular corporate employee accounts from its reference or its issuer external reference

PATCH /issuers/{issuerId}/corporate-contracts/external-contracts/{issuerContractExternalReference}/corporate-employee-accounts/{accountReference}

Update Corporate employee account By external contract

The API allows to update a corporate Employee account

GET /issuers/{issuerId}/companies/{customerReference}/corporate-contracts

List corporate contracts for a company

The API returns all the corporate contracts where the company belongs to

GET /issuers/{issuerId}/companies/external-customers/{issuerCustomerExternalReference}/corporate-contracts

List corporate contracts for a company

The API returns all the corporate contracts where the company belongs to

GET /issuers/{issuerId}/corporate-contracts/{contractReference}

Retrieve corporate contract

This API allows retrieving a particular corporate contract from its reference or its issuer external reference. The API response contains contract information such as:

  • contract identifier with the contract reference and the issuer external contract reference if previously provided
  • product change information if any, such as its current status (scheduled, done, cancelled), new product, new contract if it exists
  • embedded fields if requested such as list of all customers or identifiers linked to this contract (e.g. contract owner, root account owner, cardholder(s)), card contracts, cards
POST /issuers/{issuerId}/corporate-contracts/{contractReference}/close

Close Corporate contract

The API allows to close a corporate contract identified by the Contract reference. The contract can be closed immediately or in the future at a date provided by the issuer or at the card expiry date.

As result, For immediate closure : The contract is closed, the cards within the contract are deactivated, the closing is triggered for the accounts.

For scheduled closure : The contract is not changed until the closing date is reached. Once the closing date is reached, the contract is closed, the cards within the contract are deactivated, the closing is triggered for the accounts.

POST /issuers/{issuerId}/corporate-contracts/external-contracts/{issuerContractExternalReference}/close

Close Corporate contract

The API allows to close a Corporate contract identified by the Issuer Contract external reference or the Contract reference. The contract can be closed immediately or in the future at a date provided by the issuer or at the card expiry date.

As result, For immediate closure : The contract is closed, the cards within the contract are deactivated, the closing is triggered for the accounts.

For scheduled closure : The contract is not changed until the closing date is reached. Once the closing date is reached, the contract is closed, the cards within the contract are deactivated, the closing is triggered for the accounts.

POST /issuers/{issuerId}/cards/declare-counterfeit-card

Declare counterfeit card

What's Changed


POST /issuers/{issuerId}/cards/pin-state
Response:
  • Changed property data (object CardStates)
    • Added property expiryDate (string)
    • Added property status (string)
    • Added property blockingReason (string)
POST /issuers/{issuerId}/contracts/{contractReference}/force-product-change
Response:
  • Changed property data (object ForceProductChangeResponse)
    • Added property originalContract (object)
    • Added property changedContract (object)
    • Added property productChangeInformation (object)
    • Deleted property oldContract (object)
    • Deleted property newContract (object)
POST /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/force-product-change
Response:
  • Changed property data (object ForceProductChangeResponse)
    • Added property originalContract (object)
    • Added property changedContract (object)
    • Added property productChangeInformation (object)
    • Deleted property oldContract (object)
    • Deleted property newContract (object)
GET /issuers/{issuerId}/cards/external-cards/{issuerCardExternalReference}
Response:
  • Changed property data (object Card)
    • Added property logoReference (string)
    • Added property dispatchCode (string)
    • Added property automaticDeactivationDate (string)
    • Deleted property replacementForAutomaticDeactivationDate (string)
    • Changed property cardContract (object CardContract)
      • Changed property cards (array)
        • Changed items (object Card)
          • Added property logoReference (string)
          • Added property dispatchCode (string)
          • Added property automaticDeactivationDate (string)
          • Deleted property replacementForAutomaticDeactivationDate (string)
POST /issuers/{issuerId}/cards/external-cards/{issuerCardExternalReference}/block-and-replace
Request body:
  • Changed property replaceCardRequest (object ReplaceCardRequest)
    • Added property forceNewPIN (boolean)
Response:
  • Changed property data (object BlockAndReplaceCardResponse)
    • Changed property replaceCardResponse (object ReplaceCardResponse)
      • Added property originalContract (object)
      • Added property changedContract (object)
      • Added property productChangeInformation (object)
      • Changed property card (object ReplaceCardResponse.Card)
        • Added property automaticDeactivationDate (string)
        • Deleted property replacementForAutomaticDeactivationDate (string)
      • Changed property newRelatedCardList (array)
        • Changed items (object ReplaceCardResponse)
          • Added property originalContract (object)
          • Added property changedContract (object)
          • Added property productChangeInformation (object)
          • Changed property card (object ReplaceCardResponse.Card)
            • Added property automaticDeactivationDate (string)
            • Deleted property replacementForAutomaticDeactivationDate (string)
GET /issuers/{issuerId}/cards/external-cards/{issuerCardExternalReference}/orders/{orderReference}
Response:
  • Changed property data (object Order)
    • Changed property card (object Card)
      • Added property logoReference (string)
      • Added property dispatchCode (string)
      • Added property automaticDeactivationDate (string)
      • Deleted property replacementForAutomaticDeactivationDate (string)
      • Changed property cardContract (object CardContract)
        • Changed property cards (array)
          • Changed items (object Card)
            • Added property logoReference (string)
            • Added property dispatchCode (string)
            • Added property automaticDeactivationDate (string)
            • Deleted property replacementForAutomaticDeactivationDate (string)
POST /issuers/{issuerId}/cards/external-cards/{issuerCardExternalReference}/replace
Request body:
  • Added property forceNewPIN (boolean)
Response:
  • Changed property data (object ReplaceCardResponse)
    • Added property originalContract (object)
    • Added property changedContract (object)
    • Added property productChangeInformation (object)
    • Changed property card (object ReplaceCardResponse.Card)
      • Added property automaticDeactivationDate (string)
      • Deleted property replacementForAutomaticDeactivationDate (string)
    • Changed property newRelatedCardList (array)
      • Changed items (object ReplaceCardResponse)
        • Added property originalContract (object)
        • Added property changedContract (object)
        • Added property productChangeInformation (object)
        • Changed property card (object ReplaceCardResponse.Card)
          • Added property automaticDeactivationDate (string)
          • Deleted property replacementForAutomaticDeactivationDate (string)
GET /issuers/{issuerId}/cards/{cardReference}
Response:
  • Changed property data (object Card)
    • Added property logoReference (string)
    • Added property dispatchCode (string)
    • Added property automaticDeactivationDate (string)
    • Deleted property replacementForAutomaticDeactivationDate (string)
    • Changed property cardContract (object CardContract)
      • Changed property cards (array)
        • Changed items (object Card)
          • Added property logoReference (string)
          • Added property dispatchCode (string)
          • Added property automaticDeactivationDate (string)
          • Deleted property replacementForAutomaticDeactivationDate (string)
POST /issuers/{issuerId}/cards/{cardReference}/block-and-replace
Request body:
  • Changed property replaceCardRequest (object ReplaceCardRequest)
    • Added property forceNewPIN (boolean)
Response:
  • Changed property data (object BlockAndReplaceCardResponse)
    • Changed property replaceCardResponse (object ReplaceCardResponse)
      • Added property originalContract (object)
      • Added property changedContract (object)
      • Added property productChangeInformation (object)
      • Changed property card (object ReplaceCardResponse.Card)
        • Added property automaticDeactivationDate (string)
        • Deleted property replacementForAutomaticDeactivationDate (string)
      • Changed property newRelatedCardList (array)
        • Changed items (object ReplaceCardResponse)
          • Added property originalContract (object)
          • Added property changedContract (object)
          • Added property productChangeInformation (object)
          • Changed property card (object ReplaceCardResponse.Card)
            • Added property automaticDeactivationDate (string)
            • Deleted property replacementForAutomaticDeactivationDate (string)
GET /issuers/{issuerId}/cards/{cardReference}/orders/{orderReference}
Response:
  • Changed property data (object Order)
    • Changed property card (object Card)
      • Added property logoReference (string)
      • Added property dispatchCode (string)
      • Added property automaticDeactivationDate (string)
      • Deleted property replacementForAutomaticDeactivationDate (string)
      • Changed property cardContract (object CardContract)
        • Changed property cards (array)
          • Changed items (object Card)
            • Added property logoReference (string)
            • Added property dispatchCode (string)
            • Added property automaticDeactivationDate (string)
            • Deleted property replacementForAutomaticDeactivationDate (string)
POST /issuers/{issuerId}/cards/{cardReference}/replace
Request body:
  • Added property forceNewPIN (boolean)
Response:
  • Changed property data (object ReplaceCardResponse)
    • Added property originalContract (object)
    • Added property changedContract (object)
    • Added property productChangeInformation (object)
    • Changed property card (object ReplaceCardResponse.Card)
      • Added property automaticDeactivationDate (string)
      • Deleted property replacementForAutomaticDeactivationDate (string)
    • Changed property newRelatedCardList (array)
      • Changed items (object ReplaceCardResponse)
        • Added property originalContract (object)
        • Added property changedContract (object)
        • Added property productChangeInformation (object)
        • Changed property card (object ReplaceCardResponse.Card)
          • Added property automaticDeactivationDate (string)
          • Deleted property replacementForAutomaticDeactivationDate (string)
POST /issuers/{issuerId}/contracts/{contractReference}/change-product
Response:
  • Changed property data (object ChangeProductResponse)
    • Added property originalContract (object)
    • Added property changedContract (object)
    • Added property productChangeInformation (object)
    • Deleted property oldContract (object)
    • Deleted property newContract (object)
POST /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/change-product
Response:
  • Changed property data (object ChangeProductResponse)
    • Added property originalContract (object)
    • Added property changedContract (object)
    • Added property productChangeInformation (object)
    • Deleted property oldContract (object)
    • Deleted property newContract (object)
GET /issuers/{issuerId}/credit-transfers/{endToEndId}
Response:
  • Changed property data (object CreditTransfer)
    • Added property cancellationDate (string)
GET /issuers/{issuerId}/direct-debits/{endToEndId}
Response:
  • Changed property data (object DirectDebit)
    • Added property cancellationDate (string)
GET /issuers/{issuerId}/accounts/external-accounts/{issuerAccountExternalReference}
Response:
  • Changed property data (object Account)
    • Added property companyEntityExternalReference (string)
    • Deleted property companyAccountExternalReference (string)
GET /issuers/{issuerId}/accounts/external-accounts/{issuerAccountExternalReference}/authorizations/{authorizationId}
Response:
  • Changed property data (object GetAuthorizationResponse)
    • Changed property velocityLimitChecks (array)
      • Changed items (object VelocityLimitCheck)
        • Deleted property name (string)
GET /issuers/{issuerId}/accounts/external-accounts/{issuerAccountExternalReference}/credit-transfers
Response:
  • Changed property data (array)
    • Changed items (object CreditTransfer)
      • Added property cancellationDate (string)
GET /issuers/{issuerId}/accounts/external-accounts/{issuerAccountExternalReference}/direct-debits
Response:
  • Changed property data (array)
    • Changed items (object DirectDebit)
      • Added property cancellationDate (string)
GET /issuers/{issuerId}/accounts/{accountReference}
Response:
  • Changed property data (object Account)
    • Added property companyEntityExternalReference (string)
    • Deleted property companyAccountExternalReference (string)
GET /issuers/{issuerId}/accounts/{accountReference}/authorizations/{authorizationId}
Response:
  • Changed property data (object GetAuthorizationResponse)
    • Changed property velocityLimitChecks (array)
      • Changed items (object VelocityLimitCheck)
        • Deleted property name (string)
GET /issuers/{issuerId}/accounts/{accountReference}/credit-transfers
Response:
  • Changed property data (array)
    • Changed items (object CreditTransfer)
      • Added property cancellationDate (string)
GET /issuers/{issuerId}/accounts/{accountReference}/direct-debits
Response:
  • Changed property data (array)
    • Changed items (object DirectDebit)
      • Added property cancellationDate (string)
GET /issuers/{issuerId}/card-contracts/external-card-contracts/{issuerCardContractExternalReference}
Response:
  • Changed property data (object CardContract)
    • Changed property cards (array)
      • Changed items (object Card)
        • Added property logoReference (string)
        • Added property dispatchCode (string)
        • Added property automaticDeactivationDate (string)
        • Deleted property replacementForAutomaticDeactivationDate (string)
GET /issuers/{issuerId}/card-contracts/external-card-contracts/{issuerCardContractExternalReference}/cards
Response:
  • Changed property data (array)
    • Changed items (object Card)
      • Added property logoReference (string)
      • Added property dispatchCode (string)
      • Added property automaticDeactivationDate (string)
      • Deleted property replacementForAutomaticDeactivationDate (string)
GET /issuers/{issuerId}/card-contracts/{cardContractReference}
Response:
  • Changed property data (object CardContract)
    • Changed property cards (array)
      • Changed items (object Card)
        • Added property logoReference (string)
        • Added property dispatchCode (string)
        • Added property automaticDeactivationDate (string)
        • Deleted property replacementForAutomaticDeactivationDate (string)
GET /issuers/{issuerId}/card-contracts/{cardContractReference}/cards
Response:
  • Changed property data (array)
    • Changed items (object Card)
      • Added property logoReference (string)
      • Added property dispatchCode (string)
      • Added property automaticDeactivationDate (string)
      • Deleted property replacementForAutomaticDeactivationDate (string)
GET /issuers/{issuerId}/cards/external-cards/{issuerCardExternalReference}/card-contract
Response:
  • Changed property data (object CardContract)
    • Changed property cards (array)
      • Changed items (object Card)
        • Added property logoReference (string)
        • Added property dispatchCode (string)
        • Added property automaticDeactivationDate (string)
        • Deleted property replacementForAutomaticDeactivationDate (string)
GET /issuers/{issuerId}/cards/external-cards/{issuerCardExternalReference}/orders
Response:
  • Changed property data (array)
    • Changed items (object Order)
      • Changed property card (object Card)
        • Added property logoReference (string)
        • Added property dispatchCode (string)
        • Added property automaticDeactivationDate (string)
        • Deleted property replacementForAutomaticDeactivationDate (string)
        • Changed property cardContract (object CardContract)
          • Changed property cards (array)
            • Changed items (object Card)
              • Added property logoReference (string)
              • Added property dispatchCode (string)
              • Added property automaticDeactivationDate (string)
              • Deleted property replacementForAutomaticDeactivationDate (string)
POST /issuers/{issuerId}/cards/search
Response:
  • Changed property data (array)
    • Changed items (object Card)
      • Added property logoReference (string)
      • Added property dispatchCode (string)
      • Added property automaticDeactivationDate (string)
      • Deleted property replacementForAutomaticDeactivationDate (string)
GET /issuers/{issuerId}/cards/{cardReference}/card-contract
Response:
  • Changed property data (object CardContract)
    • Changed property cards (array)
      • Changed items (object Card)
        • Added property logoReference (string)
        • Added property dispatchCode (string)
        • Added property automaticDeactivationDate (string)
        • Deleted property replacementForAutomaticDeactivationDate (string)
GET /issuers/{issuerId}/cards/{cardReference}/orders
Response:
  • Changed property data (array)
    • Changed items (object Order)
      • Changed property card (object Card)
        • Added property logoReference (string)
        • Added property dispatchCode (string)
        • Added property automaticDeactivationDate (string)
        • Deleted property replacementForAutomaticDeactivationDate (string)
        • Changed property cardContract (object CardContract)
          • Changed property cards (array)
            • Changed items (object Card)
              • Added property logoReference (string)
              • Added property dispatchCode (string)
              • Added property automaticDeactivationDate (string)
              • Deleted property replacementForAutomaticDeactivationDate (string)
POST /issuers/{issuerId}/cards/update-all-blocking-information
Response:
  • Changed property data (array)
    • Changed items (object Card)
      • Added property logoReference (string)
      • Added property dispatchCode (string)
      • Added property automaticDeactivationDate (string)
      • Deleted property replacementForAutomaticDeactivationDate (string)
GET /issuers/{issuerId}/accounts/external-accounts/{issuerAccountExternalReference}/authorizations
Response:
  • Changed property data (array)
    • Changed items (object Authorization)
      • Changed property velocityLimitChecks (array)
        • Changed items (object VelocityLimitCheck)
          • Deleted property name (string)
GET /issuers/{issuerId}/accounts/external-accounts/{issuerAccountExternalReference}/contract
Response:
  • Changed property data (object Contract)
    • Added property contractClosedByProductChange (object)
    • Added property contractCreatedFromProductChange (object)
    • Deleted property productChangeInformation (object)
    • Changed property accounts (array)
      • Changed items (object Account)
        • Added property companyEntityExternalReference (string)
        • Deleted property companyAccountExternalReference (string)
    • Changed property cardContracts (array)
      • Changed items (object CardContract)
        • Changed property cards (array)
          • Changed items (object Card)
            • Added property logoReference (string)
            • Added property dispatchCode (string)
            • Added property automaticDeactivationDate (string)
            • Deleted property replacementForAutomaticDeactivationDate (string)
GET /issuers/{issuerId}/accounts/{accountReference}/authorizations
Response:
  • Changed property data (array)
    • Changed items (object Authorization)
      • Changed property velocityLimitChecks (array)
        • Changed items (object VelocityLimitCheck)
          • Deleted property name (string)
GET /issuers/{issuerId}/accounts/{accountReference}/contract
Response:
  • Changed property data (object Contract)
    • Added property contractClosedByProductChange (object)
    • Added property contractCreatedFromProductChange (object)
    • Deleted property productChangeInformation (object)
    • Changed property accounts (array)
      • Changed items (object Account)
        • Added property companyEntityExternalReference (string)
        • Deleted property companyAccountExternalReference (string)
    • Changed property cardContracts (array)
      • Changed items (object CardContract)
        • Changed property cards (array)
          • Changed items (object Card)
            • Added property logoReference (string)
            • Added property dispatchCode (string)
            • Added property automaticDeactivationDate (string)
            • Deleted property replacementForAutomaticDeactivationDate (string)
GET /issuers/{issuerId}/card-contracts/external-card-contracts/{issuerCardContractExternalReference}/contract
Response:
  • Changed property data (object Contract)
    • Added property contractClosedByProductChange (object)
    • Added property contractCreatedFromProductChange (object)
    • Deleted property productChangeInformation (object)
    • Changed property accounts (array)
      • Changed items (object Account)
        • Added property companyEntityExternalReference (string)
        • Deleted property companyAccountExternalReference (string)
    • Changed property cardContracts (array)
      • Changed items (object CardContract)
        • Changed property cards (array)
          • Changed items (object Card)
            • Added property logoReference (string)
            • Added property dispatchCode (string)
            • Added property automaticDeactivationDate (string)
            • Deleted property replacementForAutomaticDeactivationDate (string)
GET /issuers/{issuerId}/card-contracts/{cardContractReference}/contract
Response:
  • Changed property data (object Contract)
    • Added property contractClosedByProductChange (object)
    • Added property contractCreatedFromProductChange (object)
    • Deleted property productChangeInformation (object)
    • Changed property accounts (array)
      • Changed items (object Account)
        • Added property companyEntityExternalReference (string)
        • Deleted property companyAccountExternalReference (string)
    • Changed property cardContracts (array)
      • Changed items (object CardContract)
        • Changed property cards (array)
          • Changed items (object Card)
            • Added property logoReference (string)
            • Added property dispatchCode (string)
            • Added property automaticDeactivationDate (string)
            • Deleted property replacementForAutomaticDeactivationDate (string)
POST /issuers/{issuerId}/contracts/{contractReference}/sign
Response:
  • Changed property data (object SignContractResponse)
    • Changed property contract (object SignContractResponse.Contract)
      • New optional properties:

        • contractOwnerIdentifier
        • creationDate
        • productIdentifier
      • Deleted property creationDate (string)

      • Deleted property signatureDate (string)

      • Deleted property issuerBranchCode (string)

      • Deleted property cardReleaseOrder (string)

      • Deleted property productIdentifier (object)

      • Deleted property contractOwnerIdentifier (object)

      • Changed property accounts (array)

        • Changed items (object SignContractResponse.Account)
          • New optional properties:

            • accountGuarantorIdentifier
            • accountOwnerIdentifier
          • Deleted property accountOwnerIdentifier (object)

          • Deleted property accountGuarantorIdentifier (object)

      • Changed property cardContracts (array)

        • Changed items (object SignContractResponse.CardContract)
          • New required properties:

            • cardContractIdentifier
            • cards
            • status
          • New optional properties:

            • principalSupplementaryCardIndicator
            • relatedAccounts
          • Added property cards (array)

          • Deleted property cardHolderIdentifier (object)

          • Deleted property principalSupplementaryCardIndicator (string)

          • Deleted property card (object)

          • Deleted property relatedAccounts (array)

          • Deleted property externalCobadgedCardNumber (string)

          • Deleted property externalCobadgedSequenceNumber (string)

          • Deleted property externalCobadgedExpiryDate (string)

POST /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/sign
Response:
  • Changed property data (object SignContractResponse)
    • Changed property contract (object SignContractResponse.Contract)
      • New optional properties:

        • contractOwnerIdentifier
        • creationDate
        • productIdentifier
      • Deleted property creationDate (string)

      • Deleted property signatureDate (string)

      • Deleted property issuerBranchCode (string)

      • Deleted property cardReleaseOrder (string)

      • Deleted property productIdentifier (object)

      • Deleted property contractOwnerIdentifier (object)

      • Changed property accounts (array)

        • Changed items (object SignContractResponse.Account)
          • New optional properties:

            • accountGuarantorIdentifier
            • accountOwnerIdentifier
          • Deleted property accountOwnerIdentifier (object)

          • Deleted property accountGuarantorIdentifier (object)

      • Changed property cardContracts (array)

        • Changed items (object SignContractResponse.CardContract)
          • New required properties:

            • cardContractIdentifier
            • cards
            • status
          • New optional properties:

            • principalSupplementaryCardIndicator
            • relatedAccounts
          • Added property cards (array)

          • Deleted property cardHolderIdentifier (object)

          • Deleted property principalSupplementaryCardIndicator (string)

          • Deleted property card (object)

          • Deleted property relatedAccounts (array)

          • Deleted property externalCobadgedCardNumber (string)

          • Deleted property externalCobadgedSequenceNumber (string)

          • Deleted property externalCobadgedExpiryDate (string)

GET /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}
Response:
  • Changed property data (object Contract)
    • Added property contractClosedByProductChange (object)
    • Added property contractCreatedFromProductChange (object)
    • Deleted property productChangeInformation (object)
    • Changed property accounts (array)
      • Changed items (object Account)
        • Added property companyEntityExternalReference (string)
        • Deleted property companyAccountExternalReference (string)
    • Changed property cardContracts (array)
      • Changed items (object CardContract)
        • Changed property cards (array)
          • Changed items (object Card)
            • Added property logoReference (string)
            • Added property dispatchCode (string)
            • Added property automaticDeactivationDate (string)
            • Deleted property replacementForAutomaticDeactivationDate (string)
GET /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/accounts
Response:
  • Changed property data (array)
    • Changed items (object Account)
      • Added property companyEntityExternalReference (string)
      • Deleted property companyAccountExternalReference (string)
GET /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/card-contracts
Response:
  • Changed property data (array)
    • Changed items (object CardContract)
      • Changed property cards (array)
        • Changed items (object Card)
          • Added property logoReference (string)
          • Added property dispatchCode (string)
          • Added property automaticDeactivationDate (string)
          • Deleted property replacementForAutomaticDeactivationDate (string)
GET /issuers/{issuerId}/contracts/{contractReference}
Response:
  • Changed property data (object Contract)
    • Added property contractClosedByProductChange (object)
    • Added property contractCreatedFromProductChange (object)
    • Deleted property productChangeInformation (object)
    • Changed property accounts (array)
      • Changed items (object Account)
        • Added property companyEntityExternalReference (string)
        • Deleted property companyAccountExternalReference (string)
    • Changed property cardContracts (array)
      • Changed items (object CardContract)
        • Changed property cards (array)
          • Changed items (object Card)
            • Added property logoReference (string)
            • Added property dispatchCode (string)
            • Added property automaticDeactivationDate (string)
            • Deleted property replacementForAutomaticDeactivationDate (string)
GET /issuers/{issuerId}/contracts/{contractReference}/accounts
Response:
  • Changed property data (array)
    • Changed items (object Account)
      • Added property companyEntityExternalReference (string)
      • Deleted property companyAccountExternalReference (string)
GET /issuers/{issuerId}/contracts/{contractReference}/card-contracts
Response:
  • Changed property data (array)
    • Changed items (object CardContract)
      • Changed property cards (array)
        • Changed items (object Card)
          • Added property logoReference (string)
          • Added property dispatchCode (string)
          • Added property automaticDeactivationDate (string)
          • Deleted property replacementForAutomaticDeactivationDate (string)
GET /issuers/{issuerId}/customers/external-customers/{issuerCustomerExternalReference}/accounts
Response:
  • Changed property data (array)
    • Changed items (object Account)
      • Added property companyEntityExternalReference (string)
      • Deleted property companyAccountExternalReference (string)
GET /issuers/{issuerId}/customers/external-customers/{issuerCustomerExternalReference}/card-contracts
Response:
  • Changed property data (array)
    • Changed items (object CardContract)
      • Changed property cards (array)
        • Changed items (object Card)
          • Added property logoReference (string)
          • Added property dispatchCode (string)
          • Added property automaticDeactivationDate (string)
          • Deleted property replacementForAutomaticDeactivationDate (string)
GET /issuers/{issuerId}/customers/{customerReference}/accounts
Response:
  • Changed property data (array)
    • Changed items (object Account)
      • Added property companyEntityExternalReference (string)
      • Deleted property companyAccountExternalReference (string)
GET /issuers/{issuerId}/customers/{customerReference}/card-contracts
Response:
  • Changed property data (array)
    • Changed items (object CardContract)
      • Changed property cards (array)
        • Changed items (object Card)
          • Added property logoReference (string)
          • Added property dispatchCode (string)
          • Added property automaticDeactivationDate (string)
          • Deleted property replacementForAutomaticDeactivationDate (string)
POST /issuers/{issuerId}/contracts/search
Response:
  • Changed property data (array)
    • Changed items (object Contract)
      • Added property contractClosedByProductChange (object)
      • Added property contractCreatedFromProductChange (object)
      • Deleted property productChangeInformation (object)
      • Changed property accounts (array)
        • Changed items (object Account)
          • Added property companyEntityExternalReference (string)
          • Deleted property companyAccountExternalReference (string)
      • Changed property cardContracts (array)
        • Changed items (object CardContract)
          • Changed property cards (array)
            • Changed items (object Card)
              • Added property logoReference (string)
              • Added property dispatchCode (string)
              • Added property automaticDeactivationDate (string)
              • Deleted property replacementForAutomaticDeactivationDate (string)
GET /issuers/{issuerId}/customers/external-customers/{issuerCustomerExternalReference}/contracts
Response:
  • Changed property data (array)
    • Changed items (object Contract)
      • Added property contractClosedByProductChange (object)
      • Added property contractCreatedFromProductChange (object)
      • Deleted property productChangeInformation (object)
      • Changed property accounts (array)
        • Changed items (object Account)
          • Added property companyEntityExternalReference (string)
          • Deleted property companyAccountExternalReference (string)
      • Changed property cardContracts (array)
        • Changed items (object CardContract)
          • Changed property cards (array)
            • Changed items (object Card)
              • Added property logoReference (string)
              • Added property dispatchCode (string)
              • Added property automaticDeactivationDate (string)
              • Deleted property replacementForAutomaticDeactivationDate (string)
GET /issuers/{issuerId}/customers/{customerReference}/contracts
Response:
  • Changed property data (array)
    • Changed items (object Contract)
      • Added property contractClosedByProductChange (object)
      • Added property contractCreatedFromProductChange (object)
      • Deleted property productChangeInformation (object)
      • Changed property accounts (array)
        • Changed items (object Account)
          • Added property companyEntityExternalReference (string)
          • Deleted property companyAccountExternalReference (string)
      • Changed property cardContracts (array)
        • Changed items (object CardContract)
          • Changed property cards (array)
            • Changed items (object Card)
              • Added property logoReference (string)
              • Added property dispatchCode (string)
              • Added property automaticDeactivationDate (string)
              • Deleted property replacementForAutomaticDeactivationDate (string)
POST /issuers/{issuerId}/contracts/create-consumer-contract
Request body:
  • Changed property addCardsAccounts (object CreateConsumerContractRequest.AddCardsAccounts)
    • Changed property cardContracts (array)
      • Changed items (object CreateConsumerContractRequest.CardContract)
        • Added property techAndAppModelReference (string)
  • Changed property contract (object CreateConsumerContractRequest.Contract)
    • Changed property cardContracts (array)
      • Changed items (object CreateConsumerContractRequest.CardContract)
        • Added property techAndAppModelReference (string)
Response:
  • Changed property data (object CreateConsumerContractResponse)
    • Changed property contract (object CreateConsumerContractResponse.Contract)
      • Changed property cardContracts (array)
        • Changed items (object CreateConsumerContractResponse.CardContract)
          • Added property originalCardContractIdentifier (object)
          • Added property changedCardContractIdentifier (object)
POST /issuers/{issuerId}/contracts/external-contracts/{issuerContractExternalReference}/add-cards-accounts
Request body:
  • Changed property cardContracts (array)
    • Changed items (object CreateConsumerContractRequest.CardContract)
      • Added property techAndAppModelReference (string)
Response:
  • Changed property data (object AddCardsAccountsResponse)
    • Changed property contract (object CreateConsumerContractResponse.Contract)
      • Changed property cardContracts (array)
        • Changed items (object CreateConsumerContractResponse.CardContract)
          • Added property originalCardContractIdentifier (object)
          • Added property changedCardContractIdentifier (object)
POST /issuers/{issuerId}/contracts/{contractReference}/add-cards-accounts
Request body:
  • Changed property cardContracts (array)
    • Changed items (object CreateConsumerContractRequest.CardContract)
      • Added property techAndAppModelReference (string)
Response:
  • Changed property data (object AddCardsAccountsResponse)
    • Changed property contract (object CreateConsumerContractResponse.Contract)
      • Changed property cardContracts (array)
        • Changed items (object CreateConsumerContractResponse.CardContract)
          • Added property originalCardContractIdentifier (object)
          • Added property changedCardContractIdentifier (object)


  

 

Enable "on this page" menu on doc section
On

ob-p-a2a-s1

Payment with Redirect Authorisation

Step – 1 : Get the reach details :

Reach details provides list of APIs needs to be used for this scenario and mandatory fields needs to be passed for successful API call towards ASPSP mock.

Call the reach API – GET /aspsp. Get the ASPSP details with Name = Payment Redirect and the ASPSP ID = “20100”, which has to be used to initiate the payment with redirect mode of authorisation and other further payment related requests.

Remark : Details of reach information provided in developer portal are limited and informational purpose to give initiating party (user) an idea about how reach information looks like. Initiating party (user) can skip this step and use specified ASPSP ID for the scenario to try out.

 

Step – 2 : Initiate the payment :

Call the POST /payments API with mandatory fields in request header and body. In response of POST /payments, initiating party (user) will receive payment ID, ASPSP redirect link to authorise the initiated payment and link to call GET /payments/status API to get the status of the initiated payment.

If GET /payments/status endpoint has been called before user provides his / her approval, initiating party (user) will receive payment status = “Open” from the ASPSP Mock in response.

 

Step – 3 : Authorise or Cancel the payment at ASPSP Mock :

With ASPSP redirect link received in response of POST /payments, customer (PSU) will get redirect to ASPSP Mock GUI login page. On this login page, customer (user) can provide dummy credential details as this is example purpose only. Once customer (PSU) provides his / her dummy credentials, he / she will be redirected to ASPSP Mock GUI page with “Approve” & “Deny” buttons to authorise or cancel the payment.

If customer (PSU) “Approve” the payment, payment will get initiated with the ASPSP Mock and customer (PSU) will redirect back to initiating party (user).

If customer (PSU) “Deny” the payment, ASPSP Mock will reject the initiated payment and customer (PSU) will redirect back to initiating party (user).

Remark : GUI page of ASPSP Mock to approve or deny the payment is just a demo purpose. Actual ASPSP GUI page to approve or deny the payment may vary based on ASPSP.

 

Step – 4 : Get the payment status :

Call the GET /payments/status API to get the latest payment status from ASPSP Mock.

If payment is authorised by customer (PSU), initiating party (user) will receive payment status = “Settlement Completed” as final payment status.

If payment is deny by customer (PSU), initiating party (user) will receive payment status = “Cancelled” as final payment status.

Remark : Payment status provided for this scenario is just to guide initiating party (user) for payment initiation process. Actual payment status may vary based on scenario from actual ASPSP.

 

Sequence Diagram :

Payment with Redirect Authorisation

 

Enable "on this page" menu on doc section
On

ob-p-a2a-sand

List of Payment Initiation Service Scenarios

Below you'll find a list of Payment Initiation Service (PIS) scenarios. Each scenario includes a separate page including a step by step description of the steps to complete the scenario. You can choose a scenario by providing the corresponding ASPSP ID in the request, which initiates the payment.

To simplify the interaction, these scenario's work with a static token which doesn't expire. This sandbox token is supplied in the API reference.

You can use the sandbox:

  • On the API reference page (only for registered users, look for the 'try' button)

  • With a tool like Postman

 Sr. No.

 Scenario Name

 ASPSP ID

 Scenario Guideline

 01.

 Payment with Redirect Authorisation

 20100

 Read More

 02.

 Payment Confirmation with Redirect Authorisation

 20110

 Read More

 03.

 PreAuth Payment with Redirect Authorisation

 20115

 Read More

 04.

 Periodic Payment with Redirect Authorisation

 20220

 Read More

 05.

 Scheduled Payment with Redirect Authorisation

 20111

 Read More

 06.

 Bulk Payment with Redirect Authorisation

 20210

 Read More

 07.

 Payment with Decoupled Authorisation

 20200

 Read More

 08.

 Payment with Embedded Authorisation

 20105

 Read More

 09.

 Explicit PreAuth (in Embedded) Payment with Embedded Authorisation

 20120

 Read More

 10.

 Payment with Redirect and Embedded - Hybrid Authorisation

 20121

 Read More

 11.

 Cancel Payment

 20114

 Read More

 

Enable "on this page" menu on doc section
On

ob-p-ideal

iDEAL 2.0

These pages describe the components from the Open Banking API version 3 which are used to initiate an iDEAL 2.0 payment. Some sections are based on the iDEAL 2.0 implementation guide from Currence, the iDEAL scheme holder.

Terminology

The terminology used in this document is based on the Payment Service Directive 2.

Term

Equivalent iDEAL term

Description

iDEAL HUBiDEAL HUBThe iDEAL hub is a solution owned by Currence which provides a unified iDEAL experience. It's connected to the ASPSP's which provide the iDEAL 2.0 product.
Debtor tokeniDEAL User TokenThe token as provided by Currence to an Initiating Party to identify an iDEAL Profile, which is linked to an iDEAL Profile of the PSU on the iDEAL Hub and which is used to exchange the PSU's preferences (i.e. preferred IBAN) for the iDEAL Transactions with the Initiating Party.
PSUConsumerThe Payment Service User (PSU) is account holder by one or more ASPSPs and allows other parties to initiate payments requests. 
TPPAcquirerThe Third Party Provider (TPP) is an intermediate between multiple Initiating Parties and ASPSPs and provides an interface used by the Initiating Party. The 'Open Banking Service' refers to the Worldline provided software, which handles the routing of the iDEAL payments.
Initiating PartyMerchant / cPSPThe Initiating Party contracts the TPP for the iDEAL service, and sends an iDEAL payment request to the Open Banking Service on behalf of a PSU.
ASPSPIssuerThe Account Servicing Payment Service Provider (ASPSP); the Issuer bank which is responsible for the Consumer's account.

Open Banking API features for iDEAL payments

Standard iDEAL payments:

  • Payment without profile recognition enables PSUs to pay with iDEAL without the need of a registered profile, by means of a manual bank selection or QR code, offered on an iDEAL payment page. See: sequence diagram: example of a flow without profile recognition. On the Transaction Flow page.
  • Prefill preferred bank and IBAN for iDEAL payments: The PSU's iDEAL profile can be recognized by using the PsuId which the Open Banking Service can match to iDEAL debtor token, this allows the Initiating Party to immediately present the PSU with his preferred IBAN, and redirect the PSU to his preferred ASPSP (with preferred IBAN pre-selected). Upon future visits, the Initiating Party can retrieve and/or make use of the PSU’s payment preferences in the iDEAL transaction. See: sequence diagram: example of a flow with profile recognition. On the Transaction Flow page.

Fast Checkout iDEAL payment:

  • Prefill address and contact details for iDEAL payments: The iDEAL Fast Checkout function allows the PSU to share his centrally stored address and contact details with Initiating Party upon request. This means that PSUs, for example, do not have to enter their address details each time they shop at a different Initiating Party. See: sequence diagram: Fast Checkout. On the Transaction Flow page.

Ecosystem Overview

The Open Banking Services, marked in green, is provided by Worldline

.IDEAL ecosystem overview

Enable "on this page" menu on doc section
On

ob-p-a2a

Account-to-Account Payments

Payment processing consists of several main steps, visible in the diagram and explained in dedicated chapters:

  1. Payment Preparation

  2. Payment Initiation

  3. Payment Authorisation

  4. Payment Execution

Worldline prepared a set of functions supporting these steps (the white boxes in the diagram). Each of those functions have a page with more explanation. You can choose how to integrate:

  • Using Worldline Open Banking functions directly. This allows you to control the user experience, but will require more integration effort due to various combinations of payment flows.

  • Using ready-to-go components (Bank Selection Interface and Push Notification). This will provide you with a streamlined integration due to a set of (white labeled) screens which support Bank selection and guides users through the payment steps and push notifications that you will receive whenever payment status changes.

Both integration options can also be combined.

A2A structure overview

Once you finished your implementation we recommend to go through the list of suggested testing scenarios

Enable "on this page" menu on doc section
On

ob-gs-initservice

Bank Selection Interface

API Reference Live Demonstration

The Bank Selection Interface includes customizable screens for payers to select their bank and complete any necessary authorization steps. Simply set the field UseAuthorisationLandingPages= true in the Payment Initiation Request to use this feature. It makes integration easier and streamlines the payment process. These are the typical steps to carry out a payment:

Typical Steps

Step 1: Choose bank and provide necessary information

 

After clicking the "Pay " button, payers can select their bank from the supported options. 

We display icons for popular banks, group related banks, and allow for free searching by bank name to simplify the process. In certain cases, customers may need to provide additional information, like their IBAN, which Worldline manages without any extra integration needed. If a bank's ID is provided in the Post Payments API, the bank will be automatically prefilled.
 

 

 

Step 1

Step 2: Accept Terms and Conditions 

 

After selecting the bank, customers are directed to the summary page, where they can review all payment details. 

Here they can conveniently agree to terms and conditions by simply checking a box. 

Once done, they can proceed to the next steps by clicking the "Pay" button. 

If you are using your own PSD2 license, we can easily customize the links in the summary page to lead to your specific terms and conditions. 

Step 2

Step 3: Authenticate and Authorize the Payment

 

During this step, the payer needs to authenticate themselves with their bank and approve payment execution to the bank. 

The following example illustrates what the bank's payment authorization process may look like.

Step 3

Step 4: Check Payment Status to follow on Payment Execution

 

After the payer authorizes the payment, they will be redirected back to the Bank Selection Interface. 

At this point, the Bank Selection Interface will verify the status of the payment and display it to the payer. 

Then the payer can be redirected back to your software to complete the purchase journey. 

The following example demonstrates a potential screen layout after a successful payment.

Step 4

Customization

 

You can personalize almost all elements to align with your brand - from the left bar to the title and all buttons. 

Customizing these elements enhances brand recognition and presents a professional appearance for your users. 

The following example showcases a payment summary page with customized branding.
 

 

Customized page

 

Example scenarios

Below you can interact with a few example scenarios. The interactivity is limited, but it gives a good impression of the screen flow a payer will face when using the Bank Selection Interface (a live demo is also available here). It showcases the difference between the desktop and mobile user interface and the difference in flow when the payment preferences are saved (the payer check-marked 'Pay faster next time'), in a previous payment.

Implementation

To initiate a payment using the Bank Selection Interface the following functions should be implemented:

  • Retrieve Token (An API to retrieve a token which is used in the subsequent API requests)
  • Single Payment (An API to initiate a single payment, use 'UseAuthorisationLandingPages=true' in the Header)
  • Payment Status (An API to request the status of a payment) or Push Notification (an API which allows you to receive requests when a payment status update occurs)

 

The diagram on the right shows the typical payment flow using Bank Selection Interface. You can click on the image to enlarge it.

 

Sequence diagram

Example: Post payments API request which redirects to Bank Selection Interface

curl --location --request POST 'https://xs2a-int.awltest.de/xs2a/routingservice/services/ob/pis/v3/payments' \
                --header 'X-Request-ID: 6e16f87f-08b1-460e-972d-21b824f07113' \
                --header 'Content-Type: application/json' \
                --header 'Authorization: Bearer ### Fill token here ###' \
                --header 'MessageId: d1efddaf-ea94-4c37-9b57-18640bd422a4' \
                --header 'MessageCreateDateTime: 2020-11-13T03:49:45.784Z' \
                --header 'UseAuthorisationLandingPages: true' \
                --data-raw '{
                    "PaymentProduct": [
                        "PSD2-SCT"
                    ],
                    "CommonPaymentData": {
                        "EndToEndId": "EndtoEndId",
                        "InitiatingPartyReferenceId": "### unique value ###",
                        "Amount": {
                            "Amount": "238.00",
                            "Currency": "EUR"
                        },
                        "RemittanceInformation": "Order #322551"
                    }
                }'
Enable "on this page" menu on doc section
On

ob-gs-overview

Welcome to Open Banking

The Open Banking Section of the Developer Portal gives you all information you need to follow the steps from Onboarding to Go Live. If you want to check out our available APIs, please browse our API Catalogue.

What is Open Banking? 

Open Banking, driven by the Revised Payment Services Directive (PSD2), facilitates secure connectivity between banks, Third Party Providers (TPPs) and their clients. TPPs can access financial data or initiate payments from their customers’ banks via APIs after the customer grants access.  Open Banking APIs could be used for various purposes, such as Accounting Automation, Cash Management, Credit Scoring Decisions, personal Finance Management etc. 

WL Open Banking Products

Payments Products

Implementation

To learn more about implementation of Payments Products please have a look at the  Payments Products section. To implement Open Banking Products you will need to check the Payments and Account Data sections.

Worldline Bank Connect

Bank Connect enables banks to initiate payments on behalf of their retail or business clients to move funds between own accounts or to pay others. We will support you in registration of your PSD2 license with the user banks of your choice.

Learn more? Please switch to the Bank Connect Section.  

Worldline Account-to-Account Payments

Account-to-Account Payments is a mobile-native solution that allows merchants and acquirers to facilitate payments directly from a customer’s bank account. 

Learn more? Please switch to the Account-to-Account Payment section.  

iDEAL 2.0 

Worldline iDeal platform supports banks to process iDeal transactions of their customers.

Learn more? Please switch to the iDEAL 2.0 section.  

Account Data Products

To learn more about implementation of account data products please have a look at the Account data section.

Worldline Bank Connect

Bank Connect enables banks to pull banking data on behalf of their retail or business clients. The data could be used to offer aggregated financial overview to your client. We will support you in registration of your PSD2 license with the user banks of your choice.

Learn more? Please switch to the Account-to-Account Payment Section.  

Worldline Account Insights

Account Insights allows any company to verify end user's account number, balance or account name. The service can be used whenever you need to collect user’s IBAN to prevent fraud or manual errors. 

Learn more? Please switch to the Account Information Section.  

Worldline Credit Insight

Credit Insight enables you to assess a customer’s creditworthiness in a faster and more accurate way. 

Learn more? Please switch to the Worldline Credit Insight Section. 

Verification of Payee Products

To learn more about implementation of Verification of Payee products, please have a look at the Verification of Payee section.

Requesting PSP

The Requesting PSP products enable you to fulfil the role of Requesting PSP in the EPC Verification of Payee scheme.

Learn more ? Please switch to the Requesting PSP Section.

Responding PSP

The Responding PSP products enable you to fulfil the role of Responding PSP in the EPC Verification of Payee scheme.

Learn more ? Please switch to the Responding PSP Section.

What are the Steps from Onboarding to Go Live?

Switch to Implementation Steps in order to obtain more information on the typical implementation steps.

Supported Countries

With a single integration you can reach more than 3500 banks in Europe and the list keeps growing. To learn more about the countries we are supporting, please switch to the Supported Countries section.

Glossary

Some Open Banking specific expressions sound unfamiliar to you? Please access our Glossary.

Need any help?

Do not hesitate to contact us in case you have any queries related to technical implementation or you would like to receive a quotation. Additional information can be found on our Website. You can also get in touch with our Sales Team for a demo and to discuss your needs.

If you would like to explore our products through a personalised demo at our Innovation Experience Centre in Paris please switch to the

WL Innovation & Experience Centre Website to get in touch. We're excited to help you!

Enable "on this page" menu on doc section
On

Card Contract

Card Contract

A card contract represents a single card owned by a cardholder and is linked to a card profile which defines all allowed business rules (e.g., replacement, renewal) and card properties  required to create a card (e.g., chip data).

Subsequent cards, created by automatic renewal or card replacement, are listed under the same card contract.

Each card contract is identified by a unique cardContract Reference, generated internally, and optionally by an external reference ”issuerCardContractExternalReference”  provided by the issuer, which must be unique per issuer.

The below diagram illustrates the different use cases covered by this domain.     

Retrieve card contract detail

The API allows the card contract details to be retrieved.

The main input fields are:

  • The issuer ID
  • The card contract for which the detail is requested: It can be provided by using the card contract reference or the issuer card contract external reference.

It is also possible to request some additional data by using the embedded fields.

In return, the interface provides the generic information (mainly master data) relevant to the card

API links

Below is an example where the request retrieves the card contract detail for:

  • Card contract reference : 12342000000000374459

GET /api/v2/issuers/1234/card-contracts/12342000000000374459

Response data

"data":{
   "issuerId":"1234",
   "cardContractIdentifier":{
      "cardContractReference":"12342000000000374459"
   },
   "cardTemplateReference":"T_1234_CARD_VISA_DEBIT_CLASSIC",
   "cardTypeCode":"F",
   "status":"ACTIVE",
   "openingDate":"2022-12-05T13:13:43.165+00:00",
   "activationDate":"2022-12-05T13:13:43.177+00:00",
   "trustedAuthenticationReference":"123420221205141343905",
   "newCardRenewalAllowed":true,
   "issuerBranchCode":"NO_BRANCH",
   "artwork":"DebitClassic",
   "forcedEmbossingName":"KAISHNER",
   "schemeDeclarationOptOut":false,
   "principalSupplementaryCardIndicator":"SUPPLEMENTARY",
   "productCategory":"DEBIT",
   "productCategoryLabel":"IMMEDIATE_DEBIT_DEBIT",
   "specificFields":{
      "additionalProp1":"string",
      "additionalProp3":"string",
      "additionalProp2":"string"
   },
   "productIdentifier":{
      "issuerProductExternalReference":"PDT_1234_VISA_DEBIT_CLASSIC",
      "productReference":"PDT_1234_VISA_DEBIT_CLASSIC"
   },
   "cardHolderIdentifier":{
      "customerReference":"CUS10000346489",
      "issuerCustomerExternalReference":"HOME_ADDR_REF_PERSON-202212050001B"
   },
   "contractIdentifier":{
      "contractReference":"4459f986-5242-4202-9ed5-f652573e9f63",
      "issuerContractExternalReference":"CONTRACT-202212050001"
   },
   "cardProfileDescription":"P_1234_CARD_VISA_DEBIT_CLASSIC",
   "cardProfileReference":"P_1234_CARD_VISA_DEBIT_CLASSIC"
}
}

Retrieve cardholder for a card contract

The API allows the cardholder data linked to the card contract to be retrieved.

The main input fields are:

  • The issuer ID
  • The card contract for which the detail is requested: It can be provided by using the card contract reference or the issuer card contract external reference.

It is also possible to request some additional data by using the embedded fields.

In return, the interface provides the generic information of the customer.

API links

Below is an example where the request retrieves the cardholder for:

  • Card contract reference : 12342000000000374459

GET /api/v2/issuers/1234/card-contracts/12342000000000374459/cardholder

Response data

"data":{
   "issuerId":"1234",
   "customerIdentifier":{
      "customerReference":"CUS10000346489",
      "issuerCustomerExternalReference":"HOME_ADDR_REF_PERSON-202212050001B"
   },
   "active":true,
   "birthDate":"1979-02-20T00:00:00.000+00:00",
   "birthPlace":"Lorch",
   "commercialStatus":"Normal",
   "courtesyTitle":"Frau",
   "firstName":"Kristina",
   "lastName":"KAISHNER",
   "monthlySalary":"0",
   "nationality":"DE",
   "offlineRiskCategory":"Standard",
   "onlineRiskCategory":"Standard",
   "sex":"F"
}

List cards for a card contract

The API allows all the cards of a card contract to be retrieved.

The main input fields are:

  • The issuer ID
  • The card contract for which the cards list is requested: It can be provided by using the card contract reference or the issuer card contract external reference.

In return, the interface provides the list of all the cards linked to the card contract. Each card is provided with additional information such as card status, expiry date, embossing line, blocking reason (if in blocked status).

 

API links

Below is an example where the request retrieves the cardholder for:

  • Card contract reference : 12342000000000374459

GET /api/v2/issuers/1234/card-contracts/12342000000000374459/cardholder

Response data

{
   "data":[
      {
         "issuerId":"1234",
         "cardIdentifier":{
            "cardReference":"2000000000374460"
         },
         "pan":"4546174862942386",
         "maskedPan":"454617******2386",
         "expiryDate":"1227",
         "panSequenceNumber":"1",
         "status":"BLOCKED",
         "statusDate":"2022-12-05T16:16:19.514+00:00",
         "embossingName":"KAISHNER",
         "artwork":"DebitClassic",
         "permanentlyBlocked":true,
         "emergencyCard":false,
         "emergencyCashAdvance":false,
         "renewed":false,
         "replaced":true,
         "replacementReason":"LOST_STOLEN",
         "blockingReason":"LOST",
         "cardContractIdentifier":{
            "cardContractReference":"12342000000000374459"
         },
         "isCardDigitalizationAllowed":false,
         "panReference":"15001defb91548a045a2a67f1f5d944a0b7e",
         "cardScheme":"VISA",
         "virtual":false,
         "techAndAppModelName":"M_1234_APPTEC_EMVT0VISA"
      },
      {
         "issuerId":"1234",
         "cardIdentifier":{
            "cardReference":"2000000000374491",
            "issuerCardExternalReference":"CARD-20221119"
         },
         "pan":"4546174672045636",
         "maskedPan":"454617******5636",
         "expiryDate":"1227",
         "panSequenceNumber":"1",
         "status":"ACTIVE",
         "statusDate":"2022-12-05T16:27:57.533+00:00",
         "embossingName":"KAISHNER",
         "artwork":"DebitClassic",
         "permanentlyBlocked":false,
         "emergencyCard":false,
         "emergencyCashAdvance":false,
         "renewed":false,
         "replaced":false,
         "cardContractIdentifier":{
            "cardContractReference":"12342000000000374459"
         },
         "isCardDigitalizationAllowed":false,
         "panReference":"1500d015027a202e47b39d56e25aab9fcc1d",
         "cardScheme":"VISA",
         "virtual":false,
         "techAndAppModelName":"M_1234_APPTEC_EMVT0VISA"
      }
   ]
}

Retrieve contract for a card contract

The API allows the contract detail of a card contract to be retrieved.

The main input fields requested by the API are:

  • The issuer ID
  • The card contract for which the contract information is requested: It can be provided by using the card contract reference or the issuer card contract external reference.

It is also possible to request some additional data, such as contract customers, accounts, legitimacy documents, by using the embedded fields.

In return, the interface provides the contract details.

 

API links

Below is an example where the request retrieves the cardholder for:

  • Card contract reference : 12342000000000374459

Response data

{
           "data":{
              "issuerId":"1234",
              "contractIdentifier":{
                 "contractReference":"4459f986-5242-4202-9ed5-f652573e9f63",
                 "issuerContractExternalReference":"CONTRACT-202212050001"
              },
              "issuerBranchCode":"NO_BRANCH",
              "cardReleaseOrder":"AUTOMATIC",
              "signatureDate":"2022-12-05T12:34:43.000+00:00",
              "status":"SIGNED",
              "statusDate":"2022-12-05T12:34:43.000+00:00",
              "contractOwnerIdentifier":{
                 "customerReference":"CUS10000346472",
                 "issuerCustomerExternalReference":"PERSON-202212050001"
              },
              "productIdentifier":{
                 "issuerProductExternalReference":"PDT_1234_VISA_DEBIT_CLASSIC",
                 "productReference":"PDT_1234_VISA_DEBIT_CLASSIC"
              },
              "rootAccountIdentifier":{
                 "accountReference":"12346621070985963583",
                 "issuerAccountExternalReference":"ROOT_ACCOUNT-202212050001"
              }
           }
        }

Update card contract

 

The API allows a list of pre-defined parameters (attributes) of a card contract to be updated.

The main input fields are:

  • The issuer ID
  • The card contract for which updates are required: It can be provided by using the card contract reference or the issuer card contract external reference.
  • Parameters to be updated

The card contract parameters can be retrieved using the Retrieve card Contract detail API.

The updated parameters should be consistent with the initial product configuration defined in the system (e.g., a change of model is accepted only if the provided model reference is allowed in the product definition).

A typical update for the card contract is the embossing name.

 

API links

Below is an example where the request updates the embossing name and the specific fields for:

  • Card contract reference : 12342000000000374459

PATCH /api/v2/issuers/1234/card-contracts/12342000000000374459

Request data:

{
           "forcedEmbossingName":"Kristina KAISHNER",
           "specificFields":{
              "additionalProp1":"A14587"
           }
        }

Response data:

{
           "responseMetadata":{
              "correlationId":"74c91831-9f60-4f94-90eb-dffae27af2ed",
              "statusMessage":"Executed successfully",
              "statusCode":200,
              "responseDateTime":"2022-12-19T11:20:02.972+0100",
              "timeTakenMs":570
           },
           "data":{
              "cardContractIdentifier":{
                 "cardContractReference":"12342000000000374459"
              }
           }
        }

Close card contract

The API allows a card contract to be closed.

The main input fields are:

  • The issuer ID
  • The card contract for which the closure is requested: It can be provided by using the card contract reference or the issuer card contract external reference.
  • The parameters of the closure: reason, delay, date.

 

A card contract can be either closed immediately or in the future (either at the card expiry date or at another scheduled date).

When the card is terminated (when the closing date is reached):

  • The card is immediately deactivated (next authorizations are declined).
  • The card cannot be renewed or replaced anymore.
  • Reimbursement of membership and account setup fees is possible if applicable
  • The card account cannot be closed:
    • before X days (e.g., to take into account the latest transactions)
    • if there are ongoing disputes
  • Once an account is closed, any incoming scheme transaction is automatically disputed.

API links

Cancel card contract closing

This API enables to cancel a card contract closing with a scheduled date in the future.

As a result, no closing date is planned anymore for the card contract.

API links

List card contracts

The API allows the list of card contracts to be retrieved which have the same card contract group reference.

The main input fields are:

  • The issuer ID
  • The group reference of the card contract for which the detail is requested

It is also possible to request some additional data by using the embedded fields.

In return, the interface provides the generic information (mainly master data) relevant to the card contract.

 

API links

Retrieve corporate contract for a card contract

The API allows the corporate contract detail of a card contract to be retrieved.

The main input fields requested by the API are:

  • The issuer ID
  • The card contract for which the corporate contract information is requested: It can be provided by using the card contract reference or the issuer card contract external reference.

It is also possible to request some additional data, such as list of corporate contract entities (limited to 100), list of all customers (limited to 100), list of all companies (limited to 100), list of corporate employee accounts (limited to 100), root account linked to this corporate contract, by using the embedded fields.

In return, the interface provides the corporate contract details.

 

API links

Enable "on this page" menu on doc section
On

Technical Concepts

Technical Concepts

Worldline 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 Worldline 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 Worldline systems. JSON is used for all payloads, including metadata information.

Authentification

 

Worldline 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 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

 

Our 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
HTTP codeMeaningContexte of use
200OK

The request was successfully completed.

For APIs that deal with list of resources, this code may also be returned in case no results are available after applying input criteria, or if there were no items in the list from the beginning, as long as the path in the URL is valid.

For example, let's suppose the issuer "123456" ewists in the system, when trying to get list of customers according to a last name "GET/issuers/132456/customers?lastName=unknown" the API will respond 200 in case there are not results. Indeed, the url path"/issuers/132456/customers" is valid, it's the list of customers for issuer "123456", and the request was executed successfully.

400Bad request

The request was invalid.

It can be related to the query params in URL or invalid/malformed request body.

Here are some examples of the issues that may cause an invalid request :

  • Missing required property
  • Property value contains a reference not known in the system
  • Invalid value format
  • Current state of the resource is not compatible with the requested operation (e.g. attempt to activate an already activated card)
401UnauthorizedThe request did not include an authentification token or the authentication token was expired
403ForbiddenThe client did not have permission to access or perform specific action on the resource.
404Not fund

The requested resource was not found.

This error code indicates that the requested resource could not be located on the server, typically due to an issue with the provided URL. This may occur due to invalid identifiers in the dynamic parts of the URL path, or errors in the static parts of the endpoint.

For instance, if a client sends a request with the URL "issuers/12356/crds/external-cards/200005/block" instead of "/issuers/12356/cards/external-cards/200005/block", the server may return a 404 error, since the endpoint URL does not exist.

If a request is made with an unknown issuer ID or card reference in the example above, or if the card reference is not related the issuer ID, the server will also return a 404 error.

500Internal Server errorThe request was not completed due to an internal error on the server side.
502Bad GatewayThe server acting as gateway received invalid response from the upstream server.

 

Our API Responses contain 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)

Block card – unknown card (http 404)


                {
                    "responseMetadata": {
                        "statusMessage": "UNKNOWN_CARD: Error occurred while blocking the card
                       : [2000000033334867] is null in BlockCardOutput blockCard()",
                        "statusCode": 404,
                        "responseDateTime": "2023-03-15T13:59:17.231+0100",
                        "timeTakenMs": 20
                    }
                }
                
                

Block card – bad request - invalid data request (http 400)


                {
                    "responseMetadata": {
                        "statusMessage": "INVALID_BLOCKING_REASON: Error occurred while block the card by input:  
                        [fae96f4c-1697-4b18-98ae-6b84c355776d] during 
                        BlockCardOutput blockCard() call:   [CARD_INVALID_BLOCKING_REASON]",            
                        "statusCode": 400,
                        "responseDateTime": "2023-03-15T14:02:20.446+0100",
                        "timeTakenMs": 26
                    }
                }                
                

Block card – bad request – mandatory field missing (http 400)


                {
                    "responseMetadata": {
                        "statusMessage": "REQUEST_VALIDATION_ERROR: [blockingReason - must not be null]",
                        "statusCode": 400,
                        "responseDateTime": "2023-03-15T14:04:58.955+0100",
                        "timeTakenMs": 16
                    }
                }                
                

Block card – bad request – mandatory field missing (http 400)


                            {
                            "responseMetadata": {
                            "statusMessage": "REQUEST_VALIDATION_ERROR: [blockingReason - must not be null]",
                            "statusCode": 400,
                            "responseDateTime": "2023-03-15T14:04:58.955+0100",
                            "timeTakenMs": 16
                            }
                            }
    

Block card – forbidden (http 403)


            {
            "responseMetadata": {
            "correlationId": "af5c01bc-18de-4918-98df-74af278b7849",
            "statusMessage": "The current user is not allowed to do the action! Category: 
             ISSUER, Resource: 1234, Action: access",
            "statusCode": 403,
            "responseDateTime": "2023-03-15T14:11:22.111+0100",
            "timeTakenMs": 18
            }
            }
                         
    

Metadata

 

Worldline 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 Worldline system as an UUID.

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 Wordline 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

Catalogue Overview

Catalogue Overview

The Worldline Card Issuing solution offers a wide range of API that enable the issuer to interact easily with the Worldline platform :

API Domains
Enable "on this page" menu on doc section
On