> ## Documentation Index
> Fetch the complete documentation index at: https://docs.niobi.co/llms.txt
> Use this file to discover all available pages before exploring further.

# 2025-07-02 Changes

**Release Date:** \[02/07/2025]

## **Overview**

This release includes important API updates and improvements, including enhanced payment link functionality, OTP verification for Ivory Coast Orange deposits, revised transaction limits, updated country support, and a new best practices guide.

## **New Features and API Improvements**

### **Payment Links v3**

* **Prefilled Customer Data** - you can now generate payment links with prefilled customer data. By passing fields such as first\_name, last\_name, email, and mobile, the user is directed straight to the checkout page with their details already filled in.

**Previously:** Payment links required customers to manually enter their information at checkout.

**Sample V2 Payment link creation API with no customer data:**

```json theme={null}
{
  "client_id": "K1PoY1WYricSpXh6Wm24twnk6ecPJOWrHGsqiKJr",
  "salt": "justrandomstring",
  "sender": "John.co",
  "timestamp": 1709363033,
  "signature": "2193d01d50d4bd5da234ac0e0add5d4ccb40907a1b1ab27a12d2c1d88a5d5807",
  "params": {
    "business_name": "my business",
    "item_name": "item name",
    "callback_url": "https://webhook.site/unique-id",
    "redirection_url": "https://webhook.site/unique-id",
    "amount": "5000",
    "logo": "This is brand logo. Use the base64 format to upload a file of maximum 2MB size.",
    "country_id": "This is integer value. You can get country id from supported country table attached here.",
    "currency": "KES"
}
```

<img src="https://mintcdn.com/niobi/AMhGjRoBC7yfXgRW/images/portalpaymentlink.png?fit=max&auto=format&n=AMhGjRoBC7yfXgRW&q=85&s=0720ecde35d330e41318c5d1e38db599" alt="Image" width="1305" height="730" data-path="images/portalpaymentlink.png" />

**Now:** Backward compatibility with v2. You can pass in the customer data.
**Sample V3 API Payment link with customer data:**

```json theme={null}
{
  "client_id": "K1PoY1WYricSpXh6Wm24twnk6ecPJOWrHGsqiKJr",
  "salt": "justrandomstring",
  "sender": "John.co",
  "timestamp": 1709363033,
  "signature": "2193d01d50d4bd5da234ac0e0add5d4ccb40907a1b1ab27a12d2c1d88a5d5807",
  "params": {
    "business_name": "my business",
    "item_name": "item name",
    "callback_url": "https://webhook.site/unique-id",
    "redirection_url": "https://webhook.site/unique-id",
    "amount": "5000",
    "logo": "This is brand logo. Use the base64 format to upload a file of maximum 2MB size.",
    "country_id": "This is integer value. You can get country id from supported country table attached here.",
    "currency": "KES",
    "first_name": "First name",
    "last_name": "Last name",
    "email":"john.dpe@example.com",
    "mobile": "2547123xxxx7"
}
```

You can find more details [here](/api-reference/payment-link/create-a-payment-linkv3)

<img src="https://mintcdn.com/niobi/AMhGjRoBC7yfXgRW/images/portalpaymentlinkv3.png?fit=max&auto=format&n=AMhGjRoBC7yfXgRW&q=85&s=21723c35c193a169cdf4402eb8220e02" alt="Checkout Page" width="1281" height="784" data-path="images/portalpaymentlinkv3.png" />

### **Orange OTP for Ivory Coast Deposits**

* For Orange payins in Ivory Coast, OTP verification is **now required**.
* Ensure your implementation includes this OTP step.
  ```json theme={null}
  {
        "client_id": "client_id",
        "params": {
            "amount": "500",
            "callback_url": "https://webhook.site/",
            "country_id": 3,
            "currency": "XOF",
            "mobile": "2347xxxxxx00",
            "name": "Joseph Mike",
            "payment_method_type": "Orange",
            "third_party_reference_1": null,
            "third_party_reference_2": null
        },
        "salt": "salt value",
        "sender": "Integration name",
        "timestamp": xxxxxxx,
        "signature": "1xxxxxxxxxxxxxxxx8"
    }
  ```
* Verify the transaction using our verification API with the client's OTP and payment token fetched from the response: /v4/niobi-unified-process-transaction

```json{ theme={null}
    "client_id": "TLNnEXPhsFmBUbU6vwVPVAVZCLVUC7OL2Bu5HnQo",
    "params": {
        "otp": "1234",
        "payment_token": "7cb952a7-6477-4ff0-8736-3dd9488b6aa3"
    },
    "salt": "niobi_salt",
    "sender": "ApexVim",
    "timestamp": 1744788807,
    "signature": "3a3cf7f2e3ff8d4ee991d7e1323312887dfda8536b8c2e197d0d4ef764013658"
}
```

Find the full reference under [collection methods](/collect-v4#otp-verification-ivory-coast-orange-payins).

### **Updated Transaction Limits**

* We have updated our transaction limits for some payment methods. Please refer to the full list of transaction limits here: [transaction limits](/transaction-limitsv4).

### **Updated Supported Countries**

* Discontinued **Rwanda** temporarily.  Please find the full list of supported countries [here](/countries-v4)

### **Added Best Practices Guide**

* A new guide is available to help you integrate more effectively. Find more details [here](/best-practices)
