> ## 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.

# Create Payment Link

<Note>
  Please make sure to generate a new `signature` whenever you are creating a new payment link.
</Note>

### List of Supported Countries

| Country Id | Country        | Code   | Currency  | Payment Methods                                            | Status  |
| ---------- | -------------- | ------ | --------- | ---------------------------------------------------------- | ------- |
| 1          | Kenya          | 254    | KES       | Send Money, PayBill, Till, Pesalink, RTGS, EFT, M-Pesa B2B | Active  |
| 2          | Benin          | 229    | XOF       | MTN MOMO, MOOV                                             | Active  |
| 3          | Cote D'Ivoire  | 225    | XOF       | MTN MOMO, Orange, MOOV MoMo, Wave MoMo, SICA               | Active  |
| 4          | Cameroon       | 237    | XAF       | MTN MOMO, Orange, SYSTAC, SYGMA                            | Active  |
| 5          | DRC            | 243    | CDF       | Airtel, Orange, Vodacom                                    | Active  |
| 7          | Malawi         | 265    | MWK       | Airtel, TNM                                                | Q3 2026 |
| 8          | Rwanda         | 250    | RWF       | MTN MOMO, Airtel, eKash                                    | Active  |
| 9          | Senegal        | 221    | XOF       | Orange, Free, Wave                                         | Active  |
| 10         | Tanzania       | 255    | TZS       | Airtel, Halotel, Tigo, Vodacom MPESA, EAPS                 | Active  |
| 11         | Uganda         | 256    | UGX       | MTN MOMO, Airtel, EAPS                                     | Active  |
| 12         | Zambia         | 260    | ZMW       | MTN MOMO, Zamtel, Airtel, ZIPSS                            | Q3 2026 |
| 13         | Sierra Leone   | 232    | SLE       | Orange                                                     | Active  |
| 15         | South Africa   | 27     | ZAR       | RTC, EFT                                                   | Active  |
| 16         | Ghana          | 233    | GHS       | MTN Momo, Airtel Tigo, Vodafone                            | Active  |
| 17         | Nigeria        | 234    | NGN       | Bank Transfer, Opay, Palmpay                               | Active  |
| 18         | Burkina Faso   | 226    | XOF       | Orange, Moov                                               | Active  |
| 19         | Canada         | 1      | CAD       | SWIFT                                                      | Active  |
| 20         | China          | 86     | CNY       | CNAP Payout, CNAP Payin, AliPay, WeChat Pay                | Q4 2026 |
| 21         | Egypt          | 20     | EGP       | Vodafone Cash, Orange Cash, Etisalat Cash                  | Q1 2027 |
| 22         | Ethiopia       | 251    | ETB       | Tele-Birr, M-Birr                                          | Q1 2027 |
| 23         | Europe         | EU     | EUR       | SEPA                                                       | Active  |
| 24         | Mali           | 223    | XOF       | Orange, Moov                                               | Active  |
| 25         | Mozambique     | 258    | MZN       | Vodacom MPESA, Movitel, Tmcel, SIMO                        | Q1 2027 |
| 26         | Pakistan       | 92     | PKR       | SWIFT, Raast, JazzCash, Easypaisa                          | Q4 2026 |
| 27         | Stablecoins    | CRYPTO | USDT/USDC | ERC20, TRC20, Polygon, Solana                              | Active  |
| 28         | Togo           | 228    | XOF       | Moov, T Money                                              | Active  |
| 29         | UAE            | 971    | AED       | SWIFT                                                      | Active  |
| 30         | United Kingdom | 44     | GBP       | SWIFT, FPS                                                 | Q4 2026 |
| 31         | United States  | 1      | USD       | SWIFT, ACH, Fedwire                                        | Q4 2026 |

<Note>
  For Senegal Orange deposits, the end user receives an SMS with a shortcode after the deposit is initiated. They dial the shortcode, triggering a USSD prompt where they input their PIN to approve the transaction.
</Note>


## OpenAPI

````yaml post /api/v2/payment-link-api/create
openapi: 3.0.0
info:
  title: Niobi Application API
  description: Niobi List API
  version: 1.0.0
servers:
  - url: https://sandbox.users.niobi.co
    description: Live API Server
security: []
tags:
  - name: Niobi
    description: API Endpoints of Niobi
paths:
  /api/v2/payment-link-api/create:
    post:
      tags:
        - payment-link
      summary: Create Payment Link
      operationId: 8c0c62aaa073c36980bba5b57d1518c1
      requestBody:
        description: Payload for creating a payment link for API
        required: true
        content:
          application/json:
            schema:
              required:
                - client_id
                - salt
                - sender
                - params
              properties:
                client_id:
                  description: >-
                    The Client id is your public key which is generated when you
                    are creating a new API integration from our app.
                  type: string
                  example: K1PoY1WYricSpXh6Wm24twnk6ecPJOWrHGsqiKJr
                salt:
                  description: >-
                    Salt is used for security purposes. This is a random string
                    and can be unique value for each request or always the same.
                  type: string
                  example: justrandomstring
                sender:
                  type: string
                  description: >-
                    The Sender is the title of the API Integration which was
                    created through our app. you can just copy this title and
                    use it whenever making a new signature
                  example: John.co
                timestamp:
                  type: integer
                  description: this is the current timestamp when the request is being made
                  example: 1709363033
                signature:
                  type: string
                  example: >-
                    2193d01d50d4bd5da234ac0e0add5d4ccb40907a1b1ab27a12d2c1d88a5d5807
                params:
                  properties:
                    business_name:
                      type: string
                      example: my business
                    item_name:
                      type: string
                      example: item name
                    callback_url:
                      type: string
                      format: uri
                      example: https://webhook.site/unique-id
                    redirection_url:
                      type: string
                      format: uri
                      example: https://webhook.site/unique-id
                    amount:
                      type: string
                      example: '5000'
                    logo:
                      type: string
                      format: logo
                      example: >-
                        This is brand logo. Use the base64 format to upload a
                        file of maximum 2MB size.
                    country_id:
                      type: string
                      example: >-
                        This is integer value. You can get country id from
                        supported country table attached here.
                    currency:
                      type: string
                      example: KES
                  type: object
              type: object
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: Payment link created successfully.
                  data:
                    type: object
                type: object
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: Payment link was not created.
                type: object
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: Entity integration record not found.
                type: object
      security:
        - apiKeyAuth: []
components: {}

````