From 1003e5ee8f3957e5373d67d56b3f811236ddbb2d Mon Sep 17 00:00:00 2001 From: om-ghimire <83567737+om-ghimire@users.noreply.github.com> Date: Thu, 4 Apr 2024 12:57:24 +0545 Subject: [PATCH 1/3] updated the docs --- content/getting-started.md | 105 +++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 content/getting-started.md diff --git a/content/getting-started.md b/content/getting-started.md new file mode 100644 index 0000000..a1e0606 --- /dev/null +++ b/content/getting-started.md @@ -0,0 +1,105 @@ +There are four steps for integrating Khalti payment to a merchant system. + + + +- [1. Signup as a merchant and as a User](#1-signup-as-a-merchant-and--as-a-user) +- [2. Understand Khalti payment process](#2-understand-khalti-payment-process) + - [2.1. Transaction States](#21-transaction-states) + - [1. Initiated](#1-initiated) + - [2. Confirmed](#2-confirmed) + - [3. Completed](#3-completed) + - [4. Disabled](#4-disabled) + - [5. Refunded](#5-refunded) + - [6. Partially refunded](#6-partially-refunded) + - [7. Failed](#7-failed) +- [3. Test integration](#3-test-integration) + - [3.1. Client side integration](#31-client-side-integration) + - [3.2. Server side integration](#32-server-side-integration) +- [4. Go live](#4-go-live) + - [4.1. Further processes](#41-further-processes) + +## 1. Signup as a merchant and as a User +First of all you will need a merchant and a consumer accounts. +**Merchant** is an online business service like e-commerce websites, ISP online payment, Movie online purchase etc. +**Consumer** is an end user who uses Khalti to purchase products or services from merchants. + +Please follow links below to create a merchant and a consumer accounts if you have not already. + +- [Create a merchant account](https://khalti.com/join/merchant/) +- [Create a consumer account](https://khalti.com/join/) + +!!! info + + For the latest version of Khalti Payment Gateway on web, + Please visit ePayment Checkout + +## 2. Understand Khalti payment process + +![Khalti payment overview](./img/khalti-payment-new-overview.png) + +### 2.1. Transaction States +#### 1. Initiated + +It is the first state of a transaction. Transactions are initiated after mobile number and khalti pin along with other transaction details are provided. + +#### 2. Confirmed + +A transaction is confirmed after transaction details (transaction token, confirmation_code and 3rd party transaction_pin) are provided by the consumer. +[Check how to set and update khalti pin here.](https://www.youtube.com/watch?v=KeX7j_hp_sk) + +#### 3. Completed + +Merchant server then requests khalti server to verify the transaction. After the transaction is in completed state consumer is informed the transaction was successfully completed. + +#### 4. Disabled + +A transaction could be disabled due to the possibility of 'confirmation_code' exploitation. + +#### 5. Refunded + +A merchant can refund the successful payments within a limited period of time. + +#### 6. Partially refunded + +A completed transaction also can be partially refunded. + +#### 7. Failed + +Normally, a successful transaction has at least three changes of states initiate, confirm and complete. A client first initiates and then confirms payment while the server finally verifies it and the payment process is completed. + +## 3. Test integration +Now that you know how Khalti payment works. Its time to integrate it into your system. +A merchant must complete test integration using **test keys**. Test keys start with `test_`. + +In test mode, transactions are sandboxed, which means fund is not moved from a consumer to the merchant. +Khalti must to be integrated at client and server. + + +**Payment via E-Banking and Debit/Credit card is not supported in the test environment.** After you successfully integrate wallet, you need not to concern about E-Banking and Card payment integration. + +### 3.1. Client side integration +For now there is only one way to integrate Khalti at client side, through SDKs. +We have developed SDKs for every major plaforms and we call it `Checkout`. + +Checkouts provide all the necessary UIs and perform necessary processes to initiate and confirm payment. + +- [web Kit](./khalti-epayment.md) +- [Android Kit](./checkout/android.md) +- [iOS Kit](./checkout/ios.md) +- [Flutter Kit](./checkout/flutter/khalti-checkout.md) + +### 3.2. Server side integration +After user confirms payment, it has to be verified by Khalti. +**Fund from user account is moved to merchant only if verification succeeds.** +Verification must be done by the merchant server using a secret key. + +- [Verification API](./api/verification.md) +- [Transaction API](./api/transaction.md) + + +## 4. Go live +After successful integration test, live keys will be generated in the merchant dashboard. The merchant must **replace test keys with live ones**. +Live keys start with `live_X`. Replace `test_public_X` and `test_secret_X` keys with `live_public_X` and `live_secret_X` keys respectively. + +### 4.1. Further processes +Even successful integration itself doesn't let you receive payments above NRs. 200 per transaction. Please fill KYC form and contact us at 9801165565/9801856440/9801165558/9801165557 to remove the limits and accept payments without restrictions. From 464d8e88fdf49b43cd75e76869a07ef3e55f3554 Mon Sep 17 00:00:00 2001 From: om-ghimire <83567737+om-ghimire@users.noreply.github.com> Date: Fri, 5 Apr 2024 16:36:24 +0545 Subject: [PATCH 2/3] updated the docs, added new getting started and introduction --- content/getting-started.md | 159 +++++++++++++++++++-------------- content/gotchas.md | 39 ++++---- content/img/kpg _mobilesdk.png | Bin 0 -> 31309 bytes content/img/kpgv2-light.png | Bin 0 -> 30614 bytes content/index.md | 52 ++++++----- mkdocs.yml | 11 +-- 6 files changed, 145 insertions(+), 116 deletions(-) create mode 100644 content/img/kpg _mobilesdk.png create mode 100644 content/img/kpgv2-light.png diff --git a/content/getting-started.md b/content/getting-started.md index a1e0606..47a2959 100644 --- a/content/getting-started.md +++ b/content/getting-started.md @@ -1,105 +1,128 @@ -There are four steps for integrating Khalti payment to a merchant system. +This document serves as a comprehensive guide to integrating the Khalti Payment Gateway (KPG) into your system. The integration process involves signing up as a merchant, understanding the integration methods for web and mobile, and transitioning to a live environment after successful testing. -- [1. Signup as a merchant and as a User](#1-signup-as-a-merchant-and--as-a-user) -- [2. Understand Khalti payment process](#2-understand-khalti-payment-process) - - [2.1. Transaction States](#21-transaction-states) - - [1. Initiated](#1-initiated) - - [2. Confirmed](#2-confirmed) - - [3. Completed](#3-completed) - - [4. Disabled](#4-disabled) - - [5. Refunded](#5-refunded) - - [6. Partially refunded](#6-partially-refunded) - - [7. Failed](#7-failed) -- [3. Test integration](#3-test-integration) - - [3.1. Client side integration](#31-client-side-integration) - - [3.2. Server side integration](#32-server-side-integration) -- [4. Go live](#4-go-live) - - [4.1. Further processes](#41-further-processes) +- [1. Signup as a Merchant in Khalti](#1-signup-as-a-merchant-in-khalti) +- [2. ePayment Gateway Integration](#2-epayment-gateway-integration)
+ - [2.1. Web](#21-web-checkout)
+ - [2.2. Mobile](#22-mobile-checkout)
+- [3. Test Environment](#3-test-environment)
+- [4. Going Live](#4-go-live) -## 1. Signup as a merchant and as a User -First of all you will need a merchant and a consumer accounts. -**Merchant** is an online business service like e-commerce websites, ISP online payment, Movie online purchase etc. -**Consumer** is an end user who uses Khalti to purchase products or services from merchants. -Please follow links below to create a merchant and a consumer accounts if you have not already. +## 1. Signup as a Merchant in Khalti + +Before proceeding with the integration, it's essential to understand the terms used throughout the documentation:
+ ++ **Merchant :** Online business services such as e-commerce websites, ISP online payment portals, or online movie ticket platforms seeking to receive online payments via KPG.
+ + +If you're new to Khalti Payment Gateway service, familiarize yourself with its offerings by reading [here](./index.md) for a better understanding. + +To initiate the integration process, sign up as a merchant account : + - [Create a merchant account](https://khalti.com/join/merchant/) -- [Create a consumer account](https://khalti.com/join/) -!!! info - For the latest version of Khalti Payment Gateway on web, - Please visit ePayment Checkout -## 2. Understand Khalti payment process +## 2. ePayment Gateway Integration +The integration process varies depending on whether you're integrating KPG on a web or mobile platform. Follow the steps outlined below accordingly: + + + +### 2.1. Web Checkout +![Khalti payment overview](./img/kpgv2-light.png) +The payment process flow of KPG Web Checkout is as follows: + + +1. Merchant requests Khalti to initiate the online payment. +2. Khalti system returns with `pidx` and `payment_url`. +3. The user must be redirected to `payment_url`. +4. After payment, callback is received from Khalti system. +5. Merchant side must hit the lookup API to get the status of the transaction. + + +If you are looking to integrate KPG on web application, then the integration must be done by integrating the web checkout. Please follow the documentation here to proceed [Web Checkout](./khalti-epayment.md). + +Checkout provides all the necessary Uls and perform necessary processes to initiate and confirm the payment. + -![Khalti payment overview](./img/khalti-payment-new-overview.png) +### 2.2. Mobile Checkout +![Khalti payment overview](./img/kpg _mobilesdk.png) -### 2.1. Transaction States -#### 1. Initiated -It is the first state of a transaction. Transactions are initiated after mobile number and khalti pin along with other transaction details are provided. +The payment process flow of KPG SDK (Android & Flutter) is as follows: -#### 2. Confirmed +1. Merchant requests Khalti to initiate the online payment. +2. Khalti system returns with `pidx` and `payment_url`. +3. The merchant system must pass `pidx`, `keys` and `return URL` in client side SDK (Android and Flutter) for initiating the online payment. +4. After payment, the return message is obtained on the client side along with extra SDK offerings. -A transaction is confirmed after transaction details (transaction token, confirmation_code and 3rd party transaction_pin) are provided by the consumer. -[Check how to set and update khalti pin here.](https://www.youtube.com/watch?v=KeX7j_hp_sk) -#### 3. Completed +5. Merchant side must hit the lookup API to get the status of the transaction. +!!! info "Note" + The return url must be same while generating PIDX and in SDK To get callback or SDK offering -Merchant server then requests khalti server to verify the transaction. After the transaction is in completed state consumer is informed the transaction was successfully completed. +If you are looking to integrate KPG in mobile, then the integration must be done by integrating the provided SDKs. Please follow the documentation here to proceed:
-#### 4. Disabled +- [Android SDK](./checkout/android.md)
+- [Flutter SDK](./checkout/flutter/khalti-checkout.md) -A transaction could be disabled due to the possibility of 'confirmation_code' exploitation. +Checkout provides all the necessary Uls and perform necessary processes to initiate and confirm the payment. -#### 5. Refunded -A merchant can refund the successful payments within a limited period of time. -#### 6. Partially refunded -A completed transaction also can be partially refunded. -#### 7. Failed +## 3. Test Environment -Normally, a successful transaction has at least three changes of states initiate, confirm and complete. A client first initiates and then confirms payment while the server finally verifies it and the payment process is completed. + -## 3. Test integration -Now that you know how Khalti payment works. Its time to integrate it into your system. -A merchant must complete test integration using **test keys**. Test keys start with `test_`. +!!! info "Access Information" -In test mode, transactions are sandboxed, which means fund is not moved from a consumer to the merchant. -Khalti must to be integrated at client and server. + > **For Sandbox Access** + > Signup from + [here](https://test-admin.khalti.com/#/join/merchant) as a merchant.
-**Payment via E-Banking and Debit/Credit card is not supported in the test environment.** After you successfully integrate wallet, you need not to concern about E-Banking and Card payment integration. + > **URL :** https://a.khalti.com/
+ > **Server Side Authorization Key :** Live secret key
+ > **Client Side Authorization Key (Android / Flutter SDK):** Live public key + +!!! info "Test Credentials for sandbox environment" -### 3.1. Client side integration -For now there is only one way to integrate Khalti at client side, through SDKs. -We have developed SDKs for every major plaforms and we call it `Checkout`. + > **Test Khalti ID for** + 9800000000 + 9800000001 + 9800000002 + 9800000003 + 9800000004 + 9800000005 + + > **Test MPIN** + 1111 + + > **Test OTP** + 987654 -Checkouts provide all the necessary UIs and perform necessary processes to initiate and confirm payment. +!!! Important Note + Payment via E-Banking and Debit/Credit card is not supported in the test environment. However, after successful integration with KPG, this functionality will be enabled. +## 4. Going Live +After a successful integration test, a live merchant account must be created from here. The merchant must replace the Sandbox URL and authorization key with productions. Live keys will be generated in the merchant dashboard. +!!! info "Access Information" -- [web Kit](./khalti-epayment.md) -- [Android Kit](./checkout/android.md) -- [iOS Kit](./checkout/ios.md) -- [Flutter Kit](./checkout/flutter/khalti-checkout.md) + > **For Production** -### 3.2. Server side integration -After user confirms payment, it has to be verified by Khalti. -**Fund from user account is moved to merchant only if verification succeeds.** -Verification must be done by the merchant server using a secret key. + > Signup from + [here](https://admin.khalti.com/) as a merchant.
+ + > **URL :** https://khalti.com/
+ > **Server Side Authorization Key :** Live secret key
+ > **Client Side Authorization Key (Android / Flutter SDK):** Live public key -- [Verification API](./api/verification.md) -- [Transaction API](./api/transaction.md) -## 4. Go live -After successful integration test, live keys will be generated in the merchant dashboard. The merchant must **replace test keys with live ones**. -Live keys start with `live_X`. Replace `test_public_X` and `test_secret_X` keys with `live_public_X` and `live_secret_X` keys respectively. -### 4.1. Further processes -Even successful integration itself doesn't let you receive payments above NRs. 200 per transaction. Please fill KYC form and contact us at 9801165565/9801856440/9801165558/9801165557 to remove the limits and accept payments without restrictions. +!!! Important note + Even after successful integration, you won't be able to receive payments above NPR 200 per transaction. Fill the KYC form and contact us at 9801890085 / 9801856440 / 9801165558 / 9801165557 to remove the limits and accept payments without restrictions. \ No newline at end of file diff --git a/content/gotchas.md b/content/gotchas.md index fec2a91..2ffa567 100644 --- a/content/gotchas.md +++ b/content/gotchas.md @@ -2,61 +2,58 @@ ## 1. How can I sign up as a merchant? -Please go this link for a merchant sign up: https://khalti.com/join/merchant/ +Please go this [link](https://khalti.com/#/join/merchant/) + for a merchant sign up ## 2. How to integrate KPG? Based on your requirement please visit following links for Khalti integration: -- [Web integration](https://docs.khalti.com/checkout/web/) -- [Android integration](https://docs.khalti.com/checkout/android/) -- [iOS integration](https://docs.khalti.com/checkout/ios/) -- Flutter integration - - [With Payment interface](https://docs.khalti.com/checkout/flutter/khalti-flutter/) - - [Without payment interface](https://docs.khalti.com/checkout/flutter/khalti/) +- [Web integration](./khalti-epayment.md) +- [Android integration](checkout/android.md) + +- [Flutter integration](checkout/flutter/khalti-checkout.md) + + - Khalti integration via plugins - - [For WooCommerce](https://docs.khalti.com/plugins/woocommerce/) - - [For Opencart](https://docs.khalti.com/plugins/opencart/) - - [For Magneto](https://docs.khalti.com/plugins/magneto/) - - [For Prestashop](https://docs.khalti.com/plugins/prestashop/) - - [For WHMCS](https://docs.khalti.com/plugins/whmcs/) + - [For WooCommerce](plugins/woocommerce.md) ## 3. What to do after a successful test transaction ? After a successful test transaction, you will able to accept payments live. However, before going live, [please contact our team for the necessary coordination](https://docs.khalti.com/contact-us/) ## 4. Does Khalti have SDK for hybrid Apps? -We do have SDK for [Flutter](https://flutter.dev/). But for hybrid apps based on other frameworks, we don't have a specific SDK. +We do have SDK for [Flutter](checkout/flutter/khalti-checkout.md). But for hybrid apps based on other frameworks, we don't have a specific SDK. Find options in `Client Integration`, which support Khalti checkout integration with your app. ## 5. Can I share merchant keys? *Secret key* must not be shared with anyone. Ensure it does not get leaked by any means. If you key got compromised you can regenerate new one from your merchant dashboard. -## 6. Can I integrate Khalti in my static/HTML website? - -Complete Khalti integration in Static/HTML site is not possible. If the currently available options failed to meet your requirement leave us your [feedback](/#support). + -First, check if cURL is enabled. You should check if you miss out any dependency or extension. There might be common SSL issues. You can also tweak the code (of the plugin you got from GitHub) on your own. + -## 8. What is Khalti mPIN? +## 6. What is Khalti mPIN? Khalti mPIN is the four digit pin, used by the user while making payment of third party transactions. It can created or changed at the Transaction Pin section under Account in khalti web and Settings in khalti app. -## 9. I need to refund payment to the user. How can I refund a transaction? +## 7. I need to refund payment to the user. How can I refund a transaction? You can refund the payment to the user from your dashboard. diff --git a/content/img/kpg _mobilesdk.png b/content/img/kpg _mobilesdk.png new file mode 100644 index 0000000000000000000000000000000000000000..69046b990eb56d551401eac7506be8e3c70a93b9 GIT binary patch literal 31309 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 Date: Fri, 5 Apr 2024 16:49:05 +0545 Subject: [PATCH 3/3] updated the docs --- content/getting-started.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/getting-started.md b/content/getting-started.md index 47a2959..cf7a357 100644 --- a/content/getting-started.md +++ b/content/getting-started.md @@ -86,7 +86,7 @@ Checkout provides all the necessary Uls and perform necessary processes to initi > Signup from [here](https://test-admin.khalti.com/#/join/merchant) as a merchant.
- > **URL :** https://a.khalti.com/
+ > **URL :** https://dev.khalti.com/
> **Server Side Authorization Key :** Live secret key
> **Client Side Authorization Key (Android / Flutter SDK):** Live public key