Skip to content

Pay Third-parties using JikoNet

JikoNet allows you to transact at high volumes with third-parties directly between Jiko pockets, with 24/7 secure real-time settlement, underpinned by T-bills, ensuring safety and generating yield until the time of payment for the payor and from the time of collection for the payee.

Important: in API calls, JikoNet is named on-us.

Create a Recipient

Business Goal

To initiate a JikoNet payment, you must first create the counterparty, referred to as the "Recipient" in Jiko's UI. You are responsible for gathering the necessary payment information (the Recipient's legal business name and Jiko Network Address) directly from the counterparty outside of the Jiko system.

Business Workflow Example

Customer systems:

  1. Gather from the counterparty the Legal business name and the Jiko Network Address (example: "123456789012") of the destination Jiko pocket. The counterparty will find it under "Transfers > Receive money > Jiko network details" in the Jiko UI.

  2. Send to Jiko a counterparty creation API request, providing this counterparty pocket's name and network address.

  3. Receive from Jiko the unique Jiko ID assigned to this counterparty.

  4. Associate this Jiko Id with the counterparty in customer's payment origination systems.

Relevant API Endpoints

StepPurposeJiko API Endpoints
1Post the creation of a JikoNet counterparty, using the endpoint fields corresponding to case #2 CreateOnUsCounterpartyRequest. Where field account_number represents the Jiko Network Address. The response returns a UUID.POST /api/v2/counterparties/

Submit a JikoNet Transfer request

Business Goal

Send funds instantly (upon the approval of the transfer request) from a JikoNet-enabled pocket to a third-party's pocket. Note: not all pockets are connected to JikoNet.

Business Workflow Example

Customer systems:

  1. Get from Jiko the list of pockets with their enabled payment rails, to identify which of your pockets are connected to JikoNet.
  2. Get from Jiko the balance of JikoNet-enabled pockets.
  3. Choose which pocket to debit.
  4. Get from Jiko the list of the counterparties connected to JikoNet.
  5. Initiate a payment request, specifying the recipient, payment amount, and remittance details, as well as an internal transaction id.
  6. Send the transfer request to Jiko.
  7. Confirm successful posting of the payment transaction to the payment origination system.

Relevant API Endpoints

StepPurposeJiko API Endpoints
1If not already known, get the list of your pockets for which the ON_US (JikoNet) payment rail is enabled: pockets where payment_rails includes ON_US.GET /api/v1/portals/
2Get the balance of JikoNet-enabled pockets. See also Get the Current Balance for a Pocket or Group of a pockets.GET /api/v2/pockets/{pocket_id}/
3Get the list of the counterparties connected to JikoNet. They are identified through type = on_us.GET /api/v2/counterparties/
4Create a new transfer request, for:
• #1 CreateOnUsTransfer
• #0 CreatePeerToPeerTransfer
POST /api/v1/transfer-requests/

Cancel a JikoNet Transfer request

Business Goal

Allow to cancel a previously submitted transfer request before it is completed. To stop transfers that were submitted in error, require correction, or are no longer needed.

Business Workflow Example

Customer systems:

  1. Identify the submitted transfer request that needs to be canceled.

  2. Verify that the transfer is still eligible for cancellation (still pending).

  3. Call Jiko's transfer cancellation endpoint with the transfer identifier.

  4. Confirm that the Jiko transfer status has been updated to "Cancelled".

  5. Update internal systems or user interfaces to reflect the canceled transfer.

  6. Log the cancellation action for audit and reconciliation purposes.

Relevant API Endpoints

StepPurposeJiko API Endpoints
1Retrieve a filtered list of transfer requests, to obtain the Jiko ID of the transfer request to cancel, if the "transfer.id" is not already known.GET /api/v1/transfer-requests/
2Cancel the transfer request, identified its "transfer.id".DELETE /api/v1/transfer-requests/{transfer_id}/
3Get the status of this transfer request, to check that it was changed to "CANCELED".GET /api/v1/transfer-requests/{transfer_id}/

Approve a JikoNet Transfer request

Business Goal

Review and approve or deny transfer requests, through API or the UI. In the current version, approval is mandatory. A future version will offer the flexibility to customize the number of required approval levels.

Business Workflow Example

Customer systems:

  1. Submit a transfer request in Jiko.

  2. Get from Jiko the list of the Jiko users with a "Checker" role.

  3. Or get the list of the checker users specifically designated for a given transfer request.

  4. Notify approvers.

  5. Collect the approval decision.

  6. Record the approval decision in Jiko.

  7. Monitor the execution status of the transfer.

Relevant API Endpoints

StepPurposeJiko API Endpoints
1Get a list of transfer requests to be approved: transactions with status = UNDER_REVIEW.GET /api/v1/transfer-requests/
2aGet the list of all the active Jiko users having a "Checker" role.GET /api/v1/transfer-requests/reviewers/
2bOr get the list of the checker users specifically designated for a given transfer request, listed in field "reviewers" for this transfer request.GET /api/v1/transfer-requests/{transfer_id}/
3Approve or reject the request, using one of the following status values:

• #1 APPROVED
• #4 REJECTED

In the case of a reject, optionally choose a Denial reason and transmit a Denial memo text.
PATCH /api/v1/transfer-requests/{transfer_id}/status/

Illustration

PATCH /api/v1/transfer-requests/{transfer_id}/status/:

{
 "status": "APPROVED"
}

Retrieve the Status of a JikoNet Transfer

Business Goal

Enable payment and treasury teams to maintain real-time visibility and control over payments, by continuously tracking execution status, detecting issues, and ensuring payments are completed successfully.

Business Workflow Example

Customer systems:

  1. Query the payment status at defined intervals using the transfer identifier.

  2. Interpret the returned status to understand where the payment is in the execution lifecycle.

  3. Handle exceptions by detecting DENIED or REJECTED statuses and reviewing associated error codes or messages.

  4. Trigger internal downstream actions (ERP posting, invoice update, beneficiary notification) based on the final execution outcome.

  5. Record the final payment state in the payment origination system and metadata for audit, reporting, and compliance purposes.

Relevant API Endpoints

StepPurposeJiko API Endpoints
1aGet the status of a specific transfer request identified by its Jiko id.GET /api/v1/transfer-requests/{transfer_id}/
1bOr get a list of transfer requests filtered by status (and optionally by other filtering parameters).GET /api/v1/transfer-requests/

Receive notifications of changes in a JikoNet payment status (webhook)

Business Goal

Enable real-time notifications of payment status changes via webhooks, allowing to track payment progress instantly, automate downstream processes, and respond quickly to exceptions. By eliminating repetitive polling and manual checks, it improves operational efficiency.

Business Workflow Example

Customer systems:

  1. Register a webhook endpoint URL with the platform, including a shared secret when creating the webhook subscription.

  2. Configure the event types or payment statuses to receive.

  3. Listen for incoming webhook notifications in real time.

  4. Verify each notification's authenticity and integrity.

  5. Retrieve in the event payload the Jiko id of the processed data.

  6. Get from Jiko additional data related to this id if needed.

  7. Process the event by updating internal systems or triggering workflows.

Relevant API Endpoints

StepPurposeJiko API Endpoints
1Create a new webhook subscription to receive real-time notifications for specified events.

Event types for outgoing JikoNet transfers are:
transfers.on-us.out.processing
transfers.on-us.out.success
transfers.on-us.out.rejected

Event types for incoming JikoNet transfers are:
transfers.on-us.received

Available events for a given subscription can also be retrieved using GET /api/v1/events/.
POST /api/v1/subscriptions/

List historical JikoNet payments

Business Goal

Retrieve a filtered list of payment transactions, enabling efficient approval, reconciliation, and reporting based on relevant criteria such as status and reviewer.

Business Workflow Example

Customer systems:

  1. Define filter criteria (status, reviewer).

  2. Submit the query request to Jiko with the selected filters.

  3. Handle pagination or cursors for large result sets.

  4. Receive and parse the response payload.

  5. Process or store the data for notification, reconciliation, or reporting.

  6. Repeat queries as needed to retrieve updated or incremental results.

Relevant API Endpoints

StepPurposeJiko API Endpoints
1Get a filtered list of transfers.GET /api/v1/transfer-requests/