The Hubtel Online Checkout API allows merchants to accept online payment for goods and services using mobile money and credit/debit cards. You can integrate the API directly into your website or mobile app. 

Note: Accepting Card Payments

Please note that we review all KYC information that you provide directly with our card acquiring banks who have the exclusive right to grant or refuse your request after reviewing your website and business operations.

It is important to note that this review process may take up to 10 days depending on the nature of your business and the accuracy of the information you provide. We therefore strongly recommend that you provide accurate information to assist the process.


Sample API Request

  POST /v1/merchantaccount/onlinecheckout/invoice/create HTTP/1.1
  Host: api.hubtel.com/merchantaccount
  Authorization: Basic a2hzcw1fb3U6bWdhaHdpYW8=
  Content-Type: application/json
  Cache-Control: no-cache

 {
  "invoice": {
    "items":{
    "item_0": {
      "name": "T Shirt",
      "quantity": 2,
      "unit_price": "35.0",
      "total_price": "70.0",
      "description": "Order of 2 Shirts"
    },
    "item_1": {
      "name": "Polo Shirt",
      "quantity": 1,
      "unit_price": "25.0",  
      "total_price": "0.0",
      "description": "Order of 1 Polo Shirt"
    },
    "item_2": {
      "name": "Old Navy Jeans",
      "quantity": 1,
      "unit_price": "25.0",
      "total_price": "0.0",
      "description": ""
    }
},
    "taxes": {
     
    },
    "total_amount": 120,
    "description": "Description of the invoice here"
  },
  "store": {
    "name": "T Shirt Company",
    "tagline": "Tagline of the online store",
    "postal_address": "Box 10770 Accra - Ghana",
    "phone": "233244124660",
    "logo_url": "https://company-logo-final.png",
    "website_url": "https://company.com"
  },
  "custom_data": {
   
  },
  "actions": {
    "cancel_url": "http://company.com",
    "return_url": "http://company.com"
  }
}


Sample Response

 GET /v1/merchantaccount/onlinecheckout/invoice/status/f50ce0cedd8246b6 HTTP/1.1
  Host: api.hubtel.com
  Content-Type: application/json
  Authorization: Basic a3hzcW9sb3uibWdhaHdpYW8=
  Cache-Control: no-cache

Refer to full API reference 

Did this answer your question?