Nium client integration

Account information service (AIS) flow

As part of the Nium PSD2 Open Banking AIS flow, Nium provides APIs for fetching consolidated customer account information, based on authorization and customer consent.

As a Nium One client, you need to integrate with the Nium ecosystem for Open Banking AIS as described below.

Step 1: Provide your client AIS redirect URL

Nium stores the consent ID and sends details about customer identification and reference number on a pre-configured client AIS redirect URL to you. Then, you need to provide your client redirect URL during your program setup. You need to implement your own authentication mechanism to authenticate AIS requests received.

Step 2: Get the consent detail

To authenticate the customer, fetch the consent details by calling the Account Details By Customer Consent ID. API and display it on the authorization page.

Query parameter

FieldDescription
idThe account consent ID of the customer to fetch the data.

Step 3: Update the customer consent status

Update the customer’s response against the consent ID by calling the Nium Account Details By Customer Consent ID. API to update the customer's consent as received. This step can be used later to update the consent status if the customer revokes the consent.

GET https://apisandbox.spend.nium.com/api/v1/consent/{accountConsentId}?status={consentStatus}

Path parameter

FieldDescription
accountConsentIdThe account consent ID for which the status needs to be updated.

Query parameter

FieldDescription
statusThe status of the customer consent. It may be AUTHORIZED when the customer has provided consent. Otherwise, it may be updated to REJECTED at Nium if the customer has revoked consent or opted out.

The AIS flow is now complete and the TPP can redirect the customer and display the details accordingly.

Payment initiation service (PIS) flow

As a part of the Nium PSD2 Open Banking PIS flow, Nium provides APIs for initiating a payout based on whether the Strong Customer Authentication (SCA) requirement is needed or not.

As a Nium One client, you need to integrate with the Nium ecosystem for the Open Banking PIS as described below.

When a payout transaction is initiated, internal validations are run. The transaction is also checked to see if SCA is required.

In case there's an internal validation failure, the transaction status becomes REJECTED.

Step 1: Redirect to the authorization page URL

In cases where SCA is required, Nium redirects the customer to a pre-configured URL that you provide for authentication. You need to provide your client redirect URL during the client program setup. You also need to implement your own SCA authentication mechanism to authenticate your PIS requests.

GET https://<ClientUrl>?authType=PAYMENT&customerHashId={customerHashId}&referenceNumber={systemReferenceNumber}

Path parameter

FieldDescription
customerHashIdThis parameter contains the Nium customer's universally unique identifier (UUID)
referenceNumberThis parameter contains the Nium transaction authorization reference UUID, also known as systemReferenceNumber at Nium.

Step 2: Fetch the payment details

To authenticate the customer, fetch the payment details by calling the Payment Details By System Reference Number API and display it on the authorization page.

This API lets you fetch payment details using the transaction system reference number as part of the Open Banking PIS flow and based on the customer's consent.

GET https://apisandbox.spend.nium.com/api/v1/payment/{systemReferenceNumber}/detail

You can now continue with an authorization that may succeed or fail. In both cases, you trigger the Nium API to update the authorization status.

Step 3: Update the authorization status

GET https://apisandbox.spend.nium.com/api/v1/payment/{systemReferenceNumber}?status={status}

Query parameter

FieldDescription
statusThis query parameter accepts two values which are APPROVED and REJECTED. If the status is APPROVED, the transaction status is INITIATED. It then goes through the remittance lifecycle. If the status is REJECTED, the transaction status is REJECTED. The transaction is captured in the system with the transaction type as transfer_local.