ホームページ >バックエンド開発 >Python チュートリアル >razorpay API を使用して支払いゲートウェイを統合する方法
Razorpay はインドの大手決済処理業者であり、企業や個人にエンドツーエンドのソリューションを提供しています。 Razorpay は、支払いゲートウェイ サービスから取引処理や資金決済に至るまで、包括的な支払いソリューション スイートを提供します。
この記事ではその一部について説明します。ここでは Python コードを使用しますが、ここでは SDK を使用していないため、他の言語でも簡単に複製できます。
SDK のサンプルが必要な場合は、コメントでお知らせください。
razorpay API のサンプルコードはこちら
API ドキュメントはここにあります
テストカードの詳細 - こちら
Razopay API の使用を開始するには、Razorpay Web サイトで販売アカウントにサインアップする必要があります。これにより、必要な認証情報が得られ、API ドキュメントにアクセスできるようになります。
アカウント登録リンク - https://dashboard.razorpay.com/
ここで登録してテストモードまで進みます。ここでの目標は API と支払いフローをテストすることです。
販売アカウントを設定したら、API 認証情報を取得する必要があります。これらの資格情報は、Razorpay API へのリクエストを認証するために使用されます。
次のように認証情報を取得できます -
razorpay ダッシュボードに移動し、以下の画像のような [テスト モードに移動] を選択します。
アカウント設定に移動 ->ウェブサイトとアプリの設定 -> API キー -> API 認証情報を生成します。
直接いいねもできます。
先に進む前に、開発環境が必要です。 2 つの環境が必要です。
1 つはバックエンド用、もう 1 つはフロントエンド用です。
ここでは、バックエンド言語として Python を使用します。
フロントエンドには、(React や Angular のような特殊な言語ではなく) 単純な HTML を使用します。
Razorpay API は、支払いの開始、支払いステータスの確認、統合のその他の側面の管理に使用できるいくつかのエンドポイントを提供します。スムーズな統合プロセスを確保するには、さまざまなエンドポイントとそれぞれのパラメーターを理解することが重要です。
Razorpay API を使用して支払いを開始するには、/v1/orders エンドポイントに対して POST リクエストを行う必要があります。このエンドポイントには、支払い金額、通貨、領収書、メモなどのさまざまなパラメーターが必要です。
ここで API のさまざまな例を確認できます。
def create_order_id(amount:int): url = "https://api.razorpay.com/v1/orders" token = "" # token can be created by base64(api_key:api_secret) headers = { 'Content-Type': 'application/json', 'Authorization': 'Basic ' + token } data = { "amount": amount * 100, "currency": "INR", "receipt": "Receipt for amount "+str(amount), "notes": { "notes_key_1": "payment", } } response = requests.post(url, headers=headers, json=data) if response.status_code == 200: return response.json() else: return "Failed to create order_id"
フロントエンドに payemnt-gateway を統合するには、主に 2 つのオプションがあります。
フロントエンドに支払いゲートウェイを統合する前に、いくつか準備する必要があります。
CALLBACK_URL と CANCEL_URL を生成するには、この簡単な Web サイトを使用してコールバックをテストします。
https://webhook.site/
この簡単なコードに従って支払いゲートウェイを統合し、フロントエンドから POST リクエストを送信できるようにします。
この例に従うこともできます。
<form method="POST" action="https://api.razorpay.com/v1/checkout/embedded"> <input type="hidden" name="key_id" value="YOUR_KEY_ID"/> <input type="hidden" name="amount" value=1001/> <input type="hidden" name="order_id" value="RAZORPAY_ORDER_ID"/> <input type="hidden" name="name" value="YOUR_ORG_NAME"/> <input type="hidden" name="description" value="ORG_DESC"/> <input type="hidden" name="ORG_LOGO"/> <input type="hidden" name="prefill[name]" value="CUSTOMER_NAME"/> <input type="hidden" name="prefill[contact]" value="CUSTOMER_MOBILE"/> <input type="hidden" name="prefill[email]" value="CUSTOMER_EMAIL"/> <input type="hidden" name="callback_url" value="CALLBACK_URL"/> <input type="hidden" name="cancel_url" value="CANCEL_URL"/> <button>Submit</button> </form>
Razorpay js ライブラリを使用して、razorpay がホストする他の Web サイトに移動するのではなく、Web サイト上で支払い統合を行うこともできます。
<button id="rzp-button1">Pay</button> <script src="https://checkout.razorpay.com/v1/checkout.js"></script> <script> var options = { "key": "YOUR_KEY_ID", // Enter the Key ID generated from the Dashboard "amount": "50000", // Amount is in currency subunits. Default currency is INR. Hence, 50000 refers to 50000 paise "currency": "INR", "name": "ORG_NAME", //your business name "description": "ORG_DESC", "image": "ORG_LOGO", "order_id": "RAZORPAY_ORDER_ID", //This is a sample Order ID. Pass the `id` obtained in the response of Step 1 "callback_url": "CALLBACK_URL", "prefill": { //We recommend using the prefill parameter to auto-fill customer's contact information especially their phone number "name": "CUSTOMER_NAME", //your customer's name "email": "CUSTOMER_EMAIL", "contact": "CUSTOMER_MOBILE" //Provide the customer's phone number for better conversion rates }, "notes": { "note 1": "Some notes " }, "theme": { "color": "#3399cc" } }; var rzp1 = new Razorpay(options); document.getElementById('rzp-button1').onclick = function(e){ rzp1.open(); e.preventDefault(); } </script>
Android、ios、flutter などのさまざまなプラットフォーム上で使用できる他の統合もあります。ここでドキュメントを確認できます。
支払いを開始した後、Razorpya は指定されたコールバック URL またはキャンセル URL にコールバックを送信します。シームレスな支払いエクスペリエンスを確保するには、このコールバックを適切に処理することが重要です。通常、コールバックには、支払いステータス、トランザクション ID、その他の関連詳細に関する情報が含まれます。
以上がrazorpay API を使用して支払いゲートウェイを統合する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。