fincode

Product Blog

Python(Flask)でPayPay決済APIを実装する方法(決済登録API+決済実行API)

fincodeマーケティング担当です。 本記事では、Python(Flask)からfincodeのPayPay決済APIを実行する方法を、コピペで動くサンプルコード付きで解説します。 Python初心者〜バックエンドエンジニアまで、誰でも迷わず実装できるように、 事前準備(APIキー・Python環境) サーバーサイドの実装コード(Python/Flask) フロントエンドの実装コード(HTML) 成功レスポンスの読み解き方 エラーレスポンスの読み解き方 まで一通りおさえていきます。 PayPayとは PayPayは、日本国内で広く普及しているスマホ決済のひとつです。 実店舗での利用イメージが強いですが、オンライン決済でも利用が拡大しています。 fincodeでは、Webページ(本記事のサンプルでは index.html) → PayPayの支払い画面 → 自社サービスの完了画面というオンライン決済フローを、API経由で簡単に実装できます。 PythonでのPayPay決済処理の全体フロー PayPay決済の流れは、シンプルにまとめると次の3ステップです。 1. サーバー(Python/Flask)で決済登録API を呼ぶ 2. 決済実行API を呼び、PayPayの支払い画面に遷移するURL(code_url)を取得 3.フロントエンドから code_url にリダイレクト → 購入者がPayPayの支払い画面で支払う サーバー側(Python/Flask)がやること 今回のシンプルな実装例では、サーバー側の役割は次の通りです。 1.POST /v1/payments で PayPayの決済登録API を呼ぶ 2.レスポンスで返ってきた id / access_id を使って PUT /v1/payments/{id} で 決済実行API を呼ぶ 3.返却された code_url をフロントへ返す この時点ではステータスは AWAITING_CUSTOMER_PAYMENT(お客様の支払い待ち)で、実際の引き落としはまだ行われていません。 購入者の支払いフロー 購入者側の流れは以下の通りです。 1. Webページで「PayPayで支払う」を押す 2. PayPayの支払い画面に自動遷移 3. 決済内容を確認 4. 支払い確定 5. 成功画面(本記事の例では http://localhost:5000/success)へリダイレクト 以上が全体の大まかな流れです。 次からは、実際の実装について解説していきます。 事前準備(APIキー・Python環境) fincodeのAPIキーの取得方法 1. fincodeテスト環境の管理画面にログイン テスト環境のアカウントを作成する > テスト環境管理画面にログインする > 2. 「API・Webhook」タブから シークレットキー をコピー fincodeのテスト用シークレットキーは「m_test_**********************」という形式です。 3. 環境変数に設定する シークレットキーは、セキュリティの観点からコードに直書きせず、環境変数から読み込むことを推奨します。 本記事の実装例では、シークレットキーは環境変数(※1)から読み込みます。 (※1)プログラムが動く環境(パソコンやサーバー)にあらかじめ登録しておく設定情報のことです。APIキーなどの秘密情報をコードに書かず、安全に管理するために使われます。 Python環境のセットアップ 今回のサンプルで使用するライブラリは次の2つです。 Flask:簡易サーバー&HTMLテンプレート用 requests:fincode API を叩くためのHTTPクライアント bash pip install flask requests サーバーサイド実装(Python / Flask) まずは、fincodeのPayPay決済APIを実行するサーバー側のコードです。 app.py として保存します。 Python import os from flask import Flask, jsonify, render_template import requests app = Flask(__name__) API_KEY = os.getenv("FINCODE_TEST_SECRET_KEY") BASE_URL = "https://api.test.fincode.jp" HEADERS = { "Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json", } # PayPay決済後のリダイレクト先 REDIRECT_URL = "http://localhost:5000/success" SERVER_AMOUNT = 1500 @app.route("/") def index(): return render_template("index.html", amount=SERVER_AMOUNT) @app.route("/api/paypay/start", methods=["POST"]) def start_paypay(): amount = SERVER_AMOUNT # 1. 決済登録(POST /v1/payments) register_res = requests.post( f"{BASE_URL}/v1/payments", headers=HEADERS, json={ "pay_type": "Paypay", "job_code": "CAPTURE", "amount": str(amount), }, timeout=10, ) if not register_res.ok: return jsonify({"error": "register_failed"}), 502 register_json = register_res.json() payment_id = register_json.get("id") access_id = register_json.get("access_id") if not payment_id or not access_id: return jsonify({"error": "missing_id_or_access_id"}), 502 # 2. 決済実行(PUT /v1/payments/{id}) execute_res = requests.put( f"{BASE_URL}/v1/payments/{payment_id}", headers=HEADERS, json={ "pay_type": "Paypay", "access_id": access_id, "redirect_url": REDIRECT_URL, }, timeout=10, ) if not execute_res.ok: return jsonify({"error": "execute_failed"}), 502 execute_json = execute_res.json() code_url = execute_json.get("code_url") if not code_url: return jsonify({"error": "missing_code_url"}), 502 # フロント側では code_url にリダイレクト return jsonify( { "payment_id": payment_id, "access_id": access_id, "code_url": code_url, } ) @app.route("/success") def success(): return "PayPay決済が完了しました。" if __name__ == "__main__": app.run(host="0.0.0.0", port=5000, debug=True) ポイントは POST /v1/payments で決済登録 → レスポンスから id と access_id を取得 PUT /v1/payments/{id} で決済実行 → code_url を取得 です。 フロントエンド実装(HTML) 次に、「PayPayで支払う」ボタンだけを持ったシンプルなフロントエンドです。 templates/index.html として保存します(Flaskのテンプレートディレクトリ)。 html <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>PayPay決済テスト</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> body { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; max-width: 640px; margin: 40px auto; padding: 0 16px; line-height: 1.6; } h1 { font-size: 1.4rem; margin-bottom: 1rem; } p { margin-top: 0.5rem; } button { margin-top: 1.5rem; padding: 10px 16px; font-size: 1rem; cursor: pointer; } </style> </head> <body> <h1>PayPay決済テスト</h1> <p style="font-size: 1.2rem; font-weight: 700; margin-top: 0.5rem;"> お支払い金額: <span style="font-size: 1.4rem;"> {{ "{:,}".format(amount) }} </span> 円 </p> <button id="paypay-button">PayPayで支払う</button> <script> document.getElementById("paypay-button").addEventListener("click", async () => { try { const res = await fetch("/api/paypay/start", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({}), }); const data = await res.json(); if (!res.ok) { alert("エラーが発生しました。コンソールを確認してください。"); console.error("Error response:", data); return; } if (data.code_url) { window.location.href = data.code_url; } else { alert("code_url が取得できませんでした。コンソールを確認してください。"); console.error("No code_url:", data); } } catch (err) { alert("通信エラーが発生しました"); console.error(err); } }); </script> </body> </html> ここでは 金額は サーバー側から渡された amount を表示 ボタンを押すと /api/paypay/start に POST 返ってきた code_url に window.location.href で遷移 という、シンプルな構成にしています。 成功レスポンスの読み解き方 PUT /v1/payments/{id} の成功時レスポンス(抜粋)は、次のようなイメージです。 json { "id": "o_**********************", "access_id": "a_**********************", "code_url": "https://**********************" } 項目 意味 id オーダーID。決済情報ID(今回はこれを {id} に使う) access_id 取引ID code_url PayPayの支払い画面へ遷移するためのURL エラーレスポンスの読み解き方 本記事のサンプルコードでは、最低限のエラーハンドリングとして、 決済登録APIが 200 以外 → {"error": "register_failed"} 決済実行APIが 200 以外 → {"error": "execute_failed"} id / access_id / code_url が欠けている → missing_... エラー を返すようにしています。 FAQ Q1. Python初心者でも実装できますか? →はい。この記事のコードをそのまま実行するだけで動作します。 Q2. どんなフォルダ構成にすればいいですか? →今回のサンプルでは、次のようなシンプルな構成にしています。 プロジェクトフォルダ/ ├─ app.py └─ templates/    └─ index.html app.py … Python(Flask)の本体 templates/index.html … 画面(HTML)のファイル この形にしておけば、python app.py を実行して ブラウザで http://localhost:5000/ を開くだけで動きます。 Q3. サンプルコードはどうやって起動すればいいですか? →以下4ステップを実行すると起動します。 1.ターミナル(またはPowerShell、コマンドプロンプト)を開く 2. app.py があるフォルダに移動 bash cd プロジェクトフォルダ 3.Flaskアプリを起動 bash python app.py 4.ブラウザで http://localhost:5000/ を開く 「PayPayで支払う」ボタンが表示されていれば成功です。 まとめ 本記事では、fincodeを使ってPayPay決済をPython(Flask)から実行する方法を紹介しました。 非エンジニアであるマーケティング担当者でも数十行の簡単なコードで実装ができたので、fincodeが開発しやすいことを実感しました。 fincodeとは fincodeとは、GMOイプシロン株式会社が提供する、スピーディに導入できるオンライン決済サービスです。 シンプルで統一性のあるAPIと充実の開発支援コンテンツを提供し、エンジニアファーストな設計を追求しています。 fincodeが提供する決済画面のUIコンポーネント(JavaScript)をそのまま利用することで開発工数を削減し、簡単に決済を実装できます。 決済を通じてEC/SaaS/プラットフォーム、スタートアップからエンタープライズまで様々なビジネスの成長を支えます。 +FinTechによる新たな収益モデルの構築 fincodeのプラットフォーム機能を実装することで、決済金額に対する利用料が得られる新たな収益モデルの構築が可能です。 貴社のお客様(=テナント)へ提示する決済手数料に、「プラットフォーム利用料」を設定することで、差額が貴社の収益となります。 「貴社プロダクト + FinTech~新たな収益モデル構築のご提案~」資料ダウンロード > fincodeが選ばれる理由 エンジニアファーストの設計/洗練されたUX オープンでアクセスしやすいWEBドキュメント、REST APIと複数開発言語に対応したAPIリファレンス。 決済画面のUIも、Android/iOS対応のモバイルSDKにより、少ない開発工数で柔軟にカスタマイズ可能です。 見えない手数料、ゼロへ 初期費用・月額費用0円。 さらに、義務化されたEMV 3-Dセキュア認証についても追加費用0円で導入できます。 料金表に書かれていない見えない手数料はゼロ。カード決済は決済手数料のみでご利用いただけます。 国際標準を日本品質で fincodeは日本国内で生まれ、日本のビジネス環境に合わせて設計された決済サービスです。 海外発サービスでは難しい、日本ならではの細かな商習慣や感性まで理解して、日本の企業と共に成長していきます。 運営会社 会社名 GMOイプシロン株式会社(英文表記:GMO Epsilon, Inc.) 設立年月日 2002年9月26日 所在地 〒150-0043 東京都渋谷区道玄坂1丁目14番6号 ヒューマックス渋谷ビル7F 資本金 1億5百万円 事業内容 オンライン販売の決済代行、代金回収代行及びそれらに付帯する業務 主要株主 GMOペイメントゲートウェイ株式会社 (東証プライム上場:3769) グループ会社 GMOインターネットグループ 東証プライム上場企業のGMOペイメントゲートウェイの連結会社として、プライバシーマーク認証やPCI DSS、ISMS準拠のセキュリティ基準で安心してご利用いただける環境を提供しています。   事業規模によって決済手数料のご提案が可能です。 見積依頼 > fincodeサービス概要の資料ダウンロードはこちらから 資料請求 >   あわせて読みたいおすすめの記事 【初心者向け】Pythonでfincodeの決済APIを実行する実装例(決済URL作成編) 【Python】クレジットカード決済の実装方法(決済登録API+決済実行JS編)

マーケティングチーム
Python(Flask)でPayPay決済APIを実装する方法(決済登録API+決済実行API)

【CSSとGMOイプシロンが協業開始】入金管理サービス「TREE PAYMENT-入金突合ゼロVAce(ベース)-」を2026年3月提供開始~請求ごとの専用口座発行で銀行振込の突合作業を“ゼロ”にし、事務のDXを加速~

2025年12月23日 株式会社シーエスエス GMOイプシロン株式会社 【 CSSとGMOイプシロンが協業開始 】 入金管理サービス「TREE PAYMENT-入金突合ゼロVAce(ベース)-」を 2026年3月提供開始 ~請求ごとの専用口座発行で銀行振込の突合作業を“ゼロ”にし、事務のDXを加速~ 住友生命保険相互会社の100%子会社である株式会社シーエスエス(代表取締役社長:泉 裕章、以下 CSS)と、GMOインターネットグループのGMOイプシロン株式会社(※1)(代表取締役社長:村上 知行、以下 GMOイプシロン)は、両者の協業により、GMOイプシロンがオンライン決済インフラ「fincode byGMO」の銀行振込(バーチャル口座)機能をCSSが導入し、CSSが銀行振込による入金管理サービス「TREE PAYMENT(※2)-入金突合ゼロVAce(ベース)-」を2026年3月から提供開始することを発表いたします。 (※1)GMOイプシロンは、GMOペイメントゲートウェイ株式会社の連結会社です。 (※2)「TREE PAYMENT」はCSSと株式会社電算システムの登録商標です。 本サービスでは、企業は請求ごとに振込専用口座(バーチャル口座)を自動で発行でき、入金状況をほぼリアルタイムに把握・管理することが可能になります。 これにより、従来の銀行振込で発生していた煩雑な手作業での突合業務をゼロにし、トレース作業を含むバックオフィス業務の大幅な効率化と、入金反映までのリードタイム短縮を実現します。 <サービス導入効果のイメージ> 協業の背景 銀行振込は、企業間取引だけでなく、賃料・月謝・会費など多様なシーンで利用されていますが、その入金確認には依然として大きな負担が生じています。 全国銀行データ通信システム(全銀システム)の仕様上、振込依頼人名は支払者側で任意に設定できるため、集金者側は不確実な情報での突合を行わざるを得ません。 例えば、学習塾の月謝など、生徒と振込者名が異なるケースでは手作業が必須となり、こうした業務の負荷は常態化しています。 また、紙による請求書・領収書での集金では、支払完了から入金確認まで時間を要し、事務部門の生産性低下や支払者側の不便につながっていました。 両社は、こうした課題認識を共有し、銀行振込にまつわる「見えない手間」の解消を目的に協業を開始します。 GMOイプシロンは「fincode byGMO」を通じて銀行振込(バーチャル口座)の提供と、入金消込の自動化・効率化を進めてきた実績があり、CSSは銀行振込に関する豊富な業務知見を有しています。 本協業では両社の強みを掛け合わせ、より多様な事業者のバックオフィスDXを共同で推進します。 「TREE PAYMENT-入金突合ゼロVAce(ベース)-」の概要 本協業では、GMOイプシロンが提供するオンライン決済インフラ「fincode byGMO」の銀行振込(バーチャル口座)機能をエンジンとし、CSSがこれまで培ってきた業務ノウハウを活かして、加盟店の現場担当者が直感的かつシンプルに活用できる入金管理サービスを開発・提供します。 <役割分担> CSS:入金管理サービス「TREE PAYMENT-入金突合ゼロVAce(ベース)-」の開発・提供、導入支援、サポート GMOイプシロン:オンライン決済インフラ「fincode byGMO」の銀行振込(バーチャル口座)機能の提供 <サービスコンセプト> ① 銀行振込で”当たり前化"している煩雑な手間を「ゼロ」にする。 ② 督促コストを極小化する(=事務の効率化による人件費抑制) <主な機能> ① 振込先口座(VA)発行:請求書・顧客ごとにユニークな口座を発行します。 ② 入金状況の見える化:入金状況をリアルタイムで一覧表示。過不足金も一目で把握できます。 ③ ステータス管理:検索・絞り込み機能により、顧客名・支払期限・入金状況などで絞り込み、必要な情報を即座に検索。 「完了」「返金対応」「督促対応」など、対応状況が共有でき、常にNext Actionが把握可能です。 サービス提供時期について 提供開始時期: 2026年3月(予定) *現在、上記時期でのファーストユーザー様向けサービス提供に向け、準備を進めております *先行導入やサービス詳細にご興味のある企業様は、下記、【サービスに関するお問い合わせ先】までお問い合わせください。 今後の展開 本サービスにおいて、今後以下の機能拡充を予定しています。 ① 振込専用口座(バーチャル口座)の大量発行対応 ② 請求額と入金額が一致した場合のみ決済完了とする機能 ③ APIによるデータ連携 など 両社は今後も協業を通じて、企業のバックオフィス業務全体のDXを加速し、隠れた手間を省くソリューションの提供に継続して取り組んでまいります。 各社からのコメント <株式会社シーエスエス 代表取締役社長 泉 裕章> 銀行振込は多くの企業にとって不可欠な決済手段ですが、その裏側にある『消込』という作業は、長らく企業の生産性を阻害する大きな課題でした。 この度のGMOイプシロン様との協業により、「fincode byGMO」の堅牢かつ柔軟に対応が可能な決済システム基盤と弊社の業務知見を組み合わせることで、この課題を根本的に解決できると考えております。 本協業を通じて、企業の決済にまつわる“ペイン”を解消し、日本のビジネス全体の成長に貢献できることを期待しております。 <GMOイプシロン株式会社 取締役副社長 田口 一成> この度、CSS様の新サービスに「fincode byGMO」をご採用いただき、大変光栄に存じます。 CSS様との協業により、両社の業務知見と技術を組み合わせることで、企業のバックオフィス業務のDXを一層推進できるものと考えております。 今後もGMOイプシロンは、CSS様のパートナーとして新しい価値創造を実現し、両社でこれまでにないユーザー体験を提供してまいります。 「fincode byGMO」について 「fincode byGMO」は、スタートアップの成長に寄り添うオンライン決済インフラです。 新サービスのローンチ前後に生じる決済領域の課題を解決するだけでなく、事業フェーズの進展に伴い求められる拡張的な価値をシームレスに提供します。 「テスト環境の即時提供」「迅速なWeb審査」「開発工数を削減するSDK(※3)・UIコンポーネント(※4)」などにより、短いリードタイムで決済システムの実装を可能としています。 また、REST API(※5)やその他の拡張的な機能を通じて、「独自決済フローへの対応」「ユーザー拡大のための決済手段追加」「サブスクリプションプランの追加」「プラットフォーム型ビジネスモデルへの拡大」といった導入事業者の「次の一手」を支援します。 これらの機能を初期費用・月額費用無料、かつアカウント維持費用や振込手数料などの「見えづらいコスト」を最大限省いた料金体系で提供することで、導入事業者のコスト管理の負担を軽減し、自社サービスの成長に集中できる環境を提供します。 そして、拡張性に配慮した設計思想をベースに、AI時代のUX進化に合わせ「MCP(Model Context Protocol)」に対応し、AIエージェントと決済の融合による新たなユーザー体験を牽引しています。 (※3)Software Development Kitの略。「fincode byGMO」ではAPI組み込みを容易にするライブラリを提供しています。 (※4)クレジットカード情報の入力フォームを生成、提供する機能。 (※5)Representational State Transfer APIの略。「fincode byGMO」ではリソース指向で理解が容易なREST APIを通じて決済やサブスクリプションなどのデータを操作できます。 株式会社シーエスエスについて CSSは、1976年の設立以来、口座振替・代金回収・集金代行サービスを中核とする収納代行専門企業として、保険・医療・介護・教育など多様な業界にサービスを提供しています。 住友生命保険相互会社の100%子会社として、高い信頼性と安定した基盤のもと、全国5,100団体を超えるお客様とお取引をいただいており、年間5,500万件以上の口座振替を安全・確実に実行処理しています(※6)。 また、2021年からは、マルチ決済を実現するTREE PAYMENTや口座設定がネットで完結するインターネット口座受付サービスといった、DXに資する新たなサービスも展開しています。 長年にわたり口座振替等のサービスで培った信頼と業務ノウハウを基盤に、お客様の"見えない手間を解決する"/"社会課題を解決する"ために多様な選択肢と共創の力で、ソリューションを提供し続けます。 今後もパートナー企業様との「共創」を通じて決済領域のDXを推進し、お客様と共に明るい未来を切り拓いてまいります。 (※6)2024年度実績 GMOイプシロン株式会社について スタートアップ、テック企業、SME領域の事業者に、オンライン決済サービス「fincode byGMO」「Epsilon byGMO」やビジネスの成長を支援するサービスを提供しています。 「fincode byGMO」はスタートアップ向けに設計されたオンライン決済インフラです。Eコマースに加え、プラットフォーム型やサブスクリプション型などさまざまなビジネスモデルに対応し、短期間での導入を実現します。 2025年6月には、国内PSPとして初めて「MCP(Model Context Protocol)」に対応し(※7)、AIエージェントとの連携も可能にするなど、進化を続けています。 「Epsilon byGMO」は、初期費用・トランザクション処理料(※8)無料で、多様な決済手段を一括導入できる決済代行サービスです。 個別契約の手間を省き、EC事業者の販売機会拡大を支援します。 そして、売上連動型ビジネスカード「Cycle byGMO」、レンディングや送金サービスなどの金融関連サービスを通じて、事業者のキャッシュフロー改善と成長支援を行っています。 GMOイプシロンは、東証プライム上場GMOペイメントゲートウェイの連結会社として、プライバシーマーク認証やPCI DSS、ISMS準拠のセキュリティ基準で安心してご利用いただける環境を提供しています。 (※7)2025年6月19日発表「国内PSP 初、「fincode byGMO」がMCP 対応、AI 時代における最適な決済プラットフォームへ」 (※8)トランザクション処理料とは、クレジットカードのオーソリゼーション(承認番号取得)や請求などでクレジットカード会社の通信ごとにかかる料金。 サービスに関するお問い合わせ先 GMOイプシロン株式会社 「fincode byGMO」サポートチーム お問い合わせフォーム

マーケティングチーム
【CSSとGMOイプシロンが協業開始】入金管理サービス「TREE PAYMENT-入金突合ゼロVAce(ベース)-」を2026年3月提供開始~請求ごとの専用口座発行で銀行振込の突合作業を“ゼロ”にし、事務のDXを加速~

2025年度年末年始の営業時間のお知らせ

平素より「fincode byGMO」をご利用いただきありがとうございます。 年末年始の営業につきまして、以下の通りとさせていただきます。 ■年末年始休業期間 2025年12月27日(土)~2026年1月4日(日) 休業期間中、問い合わせ対応及び審査関連業務は営業しておりません。 営業再開後より、順次対応させていただきます。 なお、決済サービス・管理画面機能につきましては通常通りご利用いただけます。

運営チーム
2025年度年末年始の営業時間のお知らせ

【Python】クレジットカード決済の実装方法(決済登録API+決済実行JS編)

fincodeマーケティング担当です。 クレジットカード決済を実装したい開発者向けに、「決済登録(サーバー側 / API)+決済実行(フロント側 / fincodeJS)」を組み合わせて最小構成で動作する決済実装方法をまとめました。 サーバー側はPython(Flask)で構築しています。 ※本記事の実装例は、非エンジニアが記述しているので、決済導入が初めてのエンジニアの方や、ビジネスサイドの方でも概要をイメージできる内容になっています。 本実装例で実現できること 本記事で紹介する「決済登録API+決済実行JS」の実装を行うと、以下を実現できます。 APIでクレジットカード決済を実行 3Dセキュア2.0の認証 fincodeの決済フローを簡単に理解する fincodeのクレジットカード決済は、以下の「2段階」で構成されます。 ① 決済登録(サーバー側 / API) サーバー側で/v1/paymentsにリクエストし、決済オブジェクト(支払情報)を作成します。 ② 決済実行(フロント側 / fincodeJS) ブラウザ側のJavaScriptでカード番号などの情報を入力し、決済を実行(オーソリ・売上処理)します。 カード番号などの機密情報は、サーバー側は扱わずfincodeJSで完結できるため、セキュリティ面は安心です。 必要なAPIキー(パブリックキー/シークレットキー) fincodeのテスト環境管理画面にログイン後、「API・Webhook」タブからAPIキーを確認できます。 テスト環境のアカウントを作成する > テスト環境管理画面にログインする > 種類 用途 例 パブリックキー ブラウザ(決済実行JS)で使用 p_test_********************** シークレットキー サーバー側からfincodeのAPIにアクセスする際に使用 m_test_********************** パブリックキーはフロント側に埋め込めますが、シークレットキーはセキュリティ上、コード内に直接書くことは推奨されません。 本記事の実装例では、シークレットキーは環境変数(※1)から読み込みます。 (※1)プログラムが動く環境(パソコンやサーバー)にあらかじめ登録しておく設定情報のことです。APIキーなどの秘密情報をコードに書かず、安全に管理するために使われます。 プロジェクト構成(最小構成) v1payments/Card/ ├─ app.py       ← 決済登録API(Flask) └─ static/    └─ index.html  ← 決済実行画面(フロント) サーバー側(Python / Flask)の実装 以下のコードを app.py に保存します。 python import os import requests from flask import Flask, jsonify, request, send_from_directory app = Flask(__name__, static_folder="static", static_url_path="/static") API_KEY = os.getenv("FINCODE_TEST_SECRET_KEY") # m_test_********************** BASE_URL = "https://api.test.fincode.jp" headers = { "Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json", } @app.route("/api/payment", methods=["POST"]) def create_payment(): data = { "pay_type": "Card", "amount": "1000", "job_code": "CAPTURE", "tds_type": "2" } response = requests.post( f"{BASE_URL}/v1/payments", headers=headers, json=data, timeout=20, ) response.raise_for_status() return jsonify(response.json()) @app.route("/") def root(): return send_from_directory("static", "index.html") if __name__ == "__main__": app.run(host="0.0.0.0", port=3000, debug=True) フロント(決済実行JS+入力画面)の実装 以下を static/index.html に保存します。 html <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>fincode 決済テスト</title> <script src="https://js.test.fincode.jp/v1/fincode.js"></script> <style> body { font-family: sans-serif; max-width: 480px; margin: 40px auto; } input { width: 100%; padding: 8px; margin: 4px 0; } button { width: 100%; padding: 10px; margin-top: 12px; } pre { background: #f5f5f5; padding: 10px; } </style> </head> <body> <h2>fincode 決済テスト</h2> <label>カード番号</label> <input id="card_no" type="text" placeholder="4100000000000100"> <label>有効期限(YYMM)</label> <input id="expire" type="text" placeholder="2711"> <label>セキュリティコード</label> <input id="security_code" type="text" placeholder="123"> <button id="pay">決済する</button> <h3>レスポンスログ</h3> <pre id="log">{}</pre> <script> const FINCODE_PUBLIC_KEY = "p_test_**********************"; // ← パブリックキーを入力 const fincode = Fincode(FINCODE_PUBLIC_KEY); const el = id => document.getElementById(id); const log = data => el("log").textContent = JSON.stringify(data, null, 2); document.getElementById("pay").addEventListener("click", async () => { // ① 決済登録(サーバー → fincode) const regRes = await fetch("/api/payment", { method: "POST", headers: {"Content-Type": "application/json"}, body: JSON.stringify({}) }); const reg = await regRes.json(); log({ register: reg }); // ② 決済実行(ブラウザ → fincodeJS) const tx = { id: reg.id, pay_type: "Card", access_id: reg.access_id, card_no: el("card_no").value, expire: el("expire").value, security_code: el("security_code").value, method: "1" }; fincode.payments( tx, (status, response) => log({ execute_status: status, response }), () => log({ error: "network_error" }) ); }); </script> </body> </html> これで以下が実現します: カード番号などの入力 /api/payment で決済登録 fincode.payments() で決済実行 完了後のレスポンスを画面表示   実行方法(最短4ステップ) ① Flask を起動 bash python app.py ②ブラウザからアクセス http://localhost:3000/   ③カード情報等を入力し、決済実行 テスト用のカード番号はdocsからご確認いただけます。 今回は、3Dセキュア2.0がすぐに認証成功するテストカード番号「4100000000000100」を利用しました。 ④レスポンスログ内の redirect_url にアクセス → 即時3Dセキュア認証成功 まとめ 本記事では、fincodeの「決済実行JS」を使って、最小構成でクレジットカード決済を実装する方法を紹介しました。 非エンジニアであるマーケティング担当者でも数十行の簡単なコードで実装ができたので、fincodeが開発しやすいことを実感しました。 fincodeとは fincodeとは、GMOイプシロン株式会社が提供する、スピーディに導入できるオンライン決済サービスです。 シンプルで統一性のあるAPIと充実の開発支援コンテンツを提供し、エンジニアファーストな設計を追求しています。 fincodeが提供する決済画面のUIコンポーネント(JavaScript)をそのまま利用することで開発工数を削減し、簡単に決済を実装できます。 決済を通じてEC/SaaS/プラットフォーム、スタートアップからエンタープライズまで様々なビジネスの成長を支えます。 +FinTechによる新たな収益モデルの構築 fincodeのプラットフォーム機能を実装することで、決済金額に対する利用料が得られる新たな収益モデルの構築が可能です。 貴社のお客様(=テナント)へ提示する決済手数料に、「プラットフォーム利用料」を設定することで、差額が貴社の収益となります。 「貴社プロダクト + FinTech~新たな収益モデル構築のご提案~」資料ダウンロード > fincodeが選ばれる理由 エンジニアファーストの設計/洗練されたUX オープンでアクセスしやすいWEBドキュメント、REST APIと複数開発言語に対応したAPIリファレンス。 決済画面のUIも、Android/iOS対応のモバイルSDKにより、少ない開発工数で柔軟にカスタマイズ可能です。 見えない手数料、ゼロへ 初期費用・月額費用0円。 さらに、義務化されたEMV 3-Dセキュア認証についても追加費用0円で導入できます。 料金表に書かれていない見えない手数料はゼロ。カード決済は決済手数料のみでご利用いただけます。 国際標準を日本品質で fincodeは日本国内で生まれ、日本のビジネス環境に合わせて設計された決済サービスです。 海外発サービスでは難しい、日本ならではの細かな商習慣や感性まで理解して、日本の企業と共に成長していきます。 運営会社 会社名 GMOイプシロン株式会社(英文表記:GMO Epsilon, Inc.) 設立年月日 2002年9月26日 所在地 〒150-0043 東京都渋谷区道玄坂1丁目14番6号 ヒューマックス渋谷ビル7F 資本金 1億5百万円 事業内容 オンライン販売の決済代行、代金回収代行及びそれらに付帯する業務 主要株主 GMOペイメントゲートウェイ株式会社 (東証プライム上場:3769) グループ会社 GMOインターネットグループ 東証プライム上場企業のGMOペイメントゲートウェイの連結会社として、プライバシーマーク認証やPCI DSS、ISMS準拠のセキュリティ基準で安心してご利用いただける環境を提供しています。   事業規模によって決済手数料のご提案が可能です。 見積依頼 > fincodeサービス概要の資料ダウンロードはこちらから 資料請求 >   あわせて読みたいおすすめの記事 【初心者向け】Pythonでfincodeの決済APIを実行する実装例(決済URL作成編) Python(Flask)でPayPay決済APIを実装する方法(決済登録API+決済実行API)

マーケティングチーム
【Python】クレジットカード決済の実装方法(決済登録API+決済実行JS編)

オンライン決済インフラ「fincode byGMO」、 キャッシュフローを柔軟に設計できる2つのオプション機能を追加 ~入金を待たずに売上金を活用できる「fincodeビジネスカード」と 支払期日を延長できる「fincode請求書カード払い」を提供開始~

2025年11月28日 GMOイプシロン株式会社 オンライン決済インフラ「fincode byGMO」、 キャッシュフローを柔軟に設計できる2つのオプション機能を追加 ~入金を待たずに売上金を活用できる「fincodeビジネスカード」と 支払期日を延長できる「fincode請求書カード払い」を提供開始~ GMOインターネットグループでGMOペイメントゲートウェイ株式会社(以下、GMO-PG)の連結会社であるGMOイプシロン株式会社(代表取締役社長:村上 知行 以下、GMOイプシロン)は、スタートアップが成功するためのオンライン決済インフラ「fincode(フィンコード) byGMO」のオプション機能として、2025年9月より提供中の「fincodeビジネスカード」に加え、今回新たに11月27日(木)より「fincode請求書カード払い」の提供を開始しました。 GMOイプシロンは、入金を待たずに売上金を活用できる「fincodeビジネスカード」と、クレジットカード決済によって支払いから引き落としまでの期日を延長できる「fincode請求書カード払い」を提供することで、導入事業者が入出金のタイミングを自ら設計し、キャッシュフローを柔軟にコントロールできる環境を実現します。 背景 日本国内の多くのスタートアップは、限られた人員で高いスピード感を持って事業成長に取り組んでいます。 そのためサービスやプロダクトのコアではない決済機能には、「すぐに導入できる」「実装が容易」「シンプルな料金体系」などが求められています。 このような背景のもとGMOイプシロンは、GMO-PGがグループとして培ってきた決済におけるナレッジ・開発力を活かし、スタートアップの決済領域の課題を解決するオンライン決済インフラ「fincode byGMO」を2022年5月より提供しています。 スタートアップをはじめ、さまざまな事業者が事業成長のスピードを落とすことなく機会を確実に捉えられるよう、「fincode byGMO」のオプション機能として「fincodeビジネスカード」に加え、「fincode請求書カード払い」を追加しました。 入出金のタイミングを最適化することで、資金の滞留を防ぎ、成長に必要な投資や支払いを機動的に実行できるプラットフォームを提供します。 概要 ■「fincodeビジネスカード」 売上金額に応じて利用枠が自動的に更新される仕組みにより、売上金の入金日を待たずにカード決済に活用できる、売上連動型のVisaブランド対応バーチャルカード(※1)です。 年会費・発行手数料・月額費用はいずれも無料で、カード利用額の0.5%をキャッシュバックする特典も備えています。 「fincode byGMO」の管理画面からカードの発行(※2)・停止・利用履歴の確認を即時に行うことができ、複数枚の発行にも対応しています(※3)。 さらに、支払方法として「fincode byGMO」の売上金からの相殺方式(※4)を採用しており、売上実績に応じて設定された金額の利用が可能です。 「fincodeビジネスカード」を導入することで事業者(※5)は、売上金の入金と経費支払いのタイムラグを最小化し、想定外の売れ行き発生時の追加発注や、出張費・備品購入・繁忙期の広告出稿など、事業に関わるさまざまな支払いに柔軟に対応することができます。 スタートアップをはじめとする多くの事業者が抱える「資金が入るまで支払いができない」という制約を解消し、ビジネスチャンスを逃さず事業を推進できる環境を提供します。 ■「fincode請求書カード払い」 請求書の支払いをVisa・Mastercardブランドのクレジットカード(※6)で行える仕組みを備えています。 事業者(※7)はクレジットカード決済を選ぶことで、支払いから引き落としまでの期間にゆとりが生まれ、キャッシュフローを柔軟に運用できます。 利用にあたっては請求書をアップロードし、クレジットカード情報を入力して申請します。 申請からおよそ2営業日で審査が完了し、審査を通過した場合は取引先の口座へ振込手続きが行われます。 これにより、事業者は支払時期を把握しやすくなり、日々の経理業務をスムーズに進められます。 なお、提供開始日の2025年11月27日(木)から12月23日(火)まで、リリースキャンペーンを実施します。 (※1)「バーチャルカード」とは、物理カードを発行せずカード番号・有効期限・セキュリティコード等をデジタルで提供する方式で、主にオンラインのカード決済に利用します。 (※2)サービス利用申請時に審査を行います。最短2営業日で利用申請の審査が完了し、審査完了後にカード発行が可能になります。 (※3)本カードはバーチャルカードのみを発行します。物理カードの提供はありません。 (※4)売上金が不足する場合は別途請求となる可能性があります。 (※5)ご利用いただける対象は事業者(企業・個人事業主)です。 (※6)利用限度額は、クレジットカードの利用可能枠に準じます。またクレジットカードの他、デビッドカードも利用できます。 (※7)ご利用いただける対象は法人です。 「fincode請求書カード払い」リリースキャンペーンについて 対象企業 fincodeバイヤーアカウントをお持ちで、GMOイプシロン所定の審査を経て承認された事業者(※7)。 内容 2025年11月27日(木)~12月23日(火)の期間に利用申し込みいただいた取引について、fincode請求書カード払い手数料を、通常手数料3%(※8)のところ2%に設定。 注意事項 本キャンペーンは予告なく内容を変更、または終了する場合があります。また、キャンペーン終了後は、通常手数料3%が適用されます。 (※8)1取引あたりの最低手数料は1,000円(非課税)です。 「fincode byGMO」について 「fincode byGMO」は、スタートアップの成長に寄り添うオンライン決済インフラです。 新サービスのローンチ前後に生じる決済領域の課題を解決するだけでなく、事業フェーズの進展に伴い求められる拡張的な価値をシームレスに提供します。 「テスト環境の即時提供」「迅速なWeb審査」「開発工数を削減するSDK(※9)・UIコンポーネント(※10)」などにより、短いリードタイムで決済システムの実装を可能としています。 また、REST API(※11)やその他の拡張的な機能を通じて、「独自決済フローへの対応」「ユーザー拡大のための決済手段追加」「サブスクリプションプランの追加」「プラットフォーム型ビジネスモデルへの拡大」といった導入事業者の「次の一手」を支援します。 これらの機能を初期費用・月額費用無料、かつアカウント維持費用や振込手数料などの「見えづらいコスト」を最大限省いた料金体系で提供することで、導入事業者のコスト管理の負担を軽減し、自社サービスの成長に集中できる環境を提供します。 そして、拡張性に配慮した設計思想をベースに、AI時代のUX進化に合わせ「MCP(Model Context Protocol)」に対応し、AIエージェントと決済の融合による新たなユーザー体験を牽引しています。 (※9)Software Development Kitの略。「fincode byGMO」ではAPI組み込みを容易にするライブラリを提供しています。 (※10)クレジットカード情報の入力フォームを生成、提供する機能。 (※11)Representational State Transfer APIの略。「fincode byGMO」ではリソース指向で理解が容易なREST APIを通じて決済やサブスクリプションなどのデータを操作できます。 GMOイプシロン株式会社について スタートアップ、テック企業、SME領域の事業者に、オンライン決済サービス「fincode byGMO」「Epsilon byGMO」やビジネスの成長を支援するサービスを提供しています。 「fincode byGMO」はスタートアップ向けに設計されたオンライン決済インフラです。Eコマースに加え、プラットフォーム型やサブスクリプション型などさまざまなビジネスモデルに対応し、短期間での導入を実現します。 2025年6月には、国内PSPとして初めて「MCP(Model Context Protocol)」に対応し(※12)、AIエージェントとの連携も可能にするなど、進化を続けています。 「Epsilon byGMO」は、初期費用・トランザクション処理料(※13)無料で、多様な決済手段を一括導入できる決済代行サービスです。 個別契約の手間を省き、EC事業者の販売機会拡大を支援します。 そして、売上連動型ビジネスカード「Cycle byGMO」、レンディングや送金サービスなどの金融関連サービスを通じて、事業者のキャッシュフロー改善と成長支援を行っています。 GMOイプシロンは、東証プライム上場GMOペイメントゲートウェイの連結会社として、プライバシーマーク認証やPCI DSS、ISMS準拠のセキュリティ基準で安心してご利用いただける環境を提供しています。 (※12)2025年6月19日発表「国内PSP 初、「fincode byGMO」がMCP 対応、AI 時代における最適な決済プラットフォームへ」 (※13)トランザクション処理料とは、クレジットカードのオーソリゼーション(承認番号取得)や請求等でクレジットカード会社の通信ごとにかかる料金。 サービスに関するお問い合わせ先 GMOイプシロン株式会社 「fincode byGMO」サポートチーム お問い合わせフォーム:https://form.fincode.jp/contact   あわせて読みたいリリース情報 新機能「インボイス機能」のご紹介

マーケティングチーム
オンライン決済インフラ「fincode byGMO」、 キャッシュフローを柔軟に設計できる2つのオプション機能を追加 ~入金を待たずに売上金を活用できる「fincodeビジネスカード」と 支払期日を延長できる「fincode請求書カード払い」を提供開始~

バーティカルSaaSとは?ホリゾンタルSaaSとの違いも併せて解説

バーティカルSaaS(Vertical SaaS)は、特定の業界・業種に特化したサービスとして急成長しており、国内でも医療・フィットネス・宿泊・飲食など、多くの領域で普及が進んでいます。 一方、ホリゾンタルSaaS(Horizontal SaaS)は業界を問わず幅広い企業が利用できる汎用型のサービスです。 本記事では、バーティカルSaaSの特徴やメリット、さらには決済サービスと組み合わせたビジネス拡張まで、SaaS事業者・プラットフォーム事業者に向けてわかりやすく解説します。 この記事でわかること バーティカルSaaSの特徴・メリット ホリゾンタルSaaSとの違い バーティカルSaaSが成長している理由 バーティカルSaaSが「決済」を組み込むべき理由 これからSaaSを立ち上げる企業が知っておきたい成功ポイント 1. バーティカルSaaSとは? バーティカルSaaSとは、特定の業界(垂直:Vertical)に特化したSaaSのことを指します。 例: 医療機関向け:オンライン診療・電子カルテ フィットネス施設向け:会員管理・月額課金 宿泊施設向け:事前決済・予約管理 飲食店向け:予約管理・モバイルオーダー 特徴: 課題や業務フローが業界特有 → 業界特化の機能が提供される 業務知識に基づいたUI/UX設計 2. ホリゾンタルSaaSとは? ホリゾンタルSaaSとは、業界を問わず幅広い企業が利用できる汎用SaaSのことです。 例: 会計・請求書管理 CRM MAツール 特徴: 幅広い業界に展開でき、市場が大きい 一般的な業務機能を中心に提供 外部連携や拡張性が高い 3. バーティカルSaaSとホリゾンタルSaaSの違い 観点 バーティカルSaaS ホリゾンタルSaaS 対象業界 特定の業界 全業界 機能 業界特化・深い 汎用的・広い 4. なぜ今、バーティカルSaaSが注目されているのか? ① DX需要の高まり 働き手不足・高齢化・業務効率化ニーズの加速により、現場のデジタル化が急務に。 ② SMB(中小企業)市場の大きさ 各業界の中小事業者は圧倒的に母数が多く、潜在市場が巨大。 5. バーティカルSaaSが決済サービスを組み込む理由 バーティカルSaaS事業者が成長戦略として「決済を内包する(Payment Embedded)」動きは世界的トレンドです。 理由① サブスク+決済による“二層構造の収益”が作れる 月額利用料収益だけでなく、決済手数料収益が追加 SaaS×決済は非常に相性がよく、LTVを最大化しやすいモデルです。 「貴社プロダクト + FinTech~新たな収益モデル構築のご提案~」資料ダウンロード > 理由② ユーザー体験が向上 業界特化の業務・予約・課金・決済を一元化し、効率化と体験向上を実現。 例: 医療機関向け:オンライン診療・電子カルテ連携 × 決済 オンライン診療の予約から診察料の決済、電子カルテへの自動連携まで一元化。未収金管理や会計処理の手間を削減し、患者体験も改善。 フィットネス施設向け:会員管理 × 月額課金の自動化 入会登録・月額課金・追加チケット購入がすべてアプリで完結。無人ジムや24時間ジムと相性が良く、決済と入退館管理がスムーズに連動。 宿泊施設向け:事前決済 × 予約・在庫管理の統合 予約サイトとの在庫同期、事前決済、チェックイン・チェックアウトまでの流れを一本化。追加料金や館内利用の決済も統合され、顧客体験が大幅に向上。 飲食店向け:予約管理 × モバイルオーダー × 自動会計 予約時の事前決済、モバイルオーダー、卓上QR決済、会計データの集計が連動。ピーク帯のレジ待ち削減と回転率向上に直結し、店舗の省人化も実現。 6. fincodeがバーティカルSaaSに選ばれる理由 オンライン決済サービス 「fincode byGMO」は多くのバーティカルSaaSに採用されています。 その理由は以下の通りです。 ① SaaS事業と相性の良い機能を提供 プラットフォーム機能 サブスクリプション機能 ② エンジニアファーストの設計 → 開発・運用の負荷を低減。 7. バーティカルSaaSの立ち上げのポイント ① 業界特有の“非効率”に正面から向き合う Fax、紙書類、電話受付 事務工数の多いバックオフィス データが分散している現場 ② 顧客体験をシームレスにする バーティカルSaaSは業務の一連の流れをどこまで一元化できるかが鍵。 ③ 決済データと業務データをつなげる 月額課金 都度課金 物販 予約時事前決済 ④ 最初から“決済を組み込む想定”で設計する 後付けで決済を組み込むと大きくコストがかかるため、初期設計で決済基盤を想定すると拡張性が高い。 8. まとめ バーティカルSaaSは、業界固有の課題を深く解決することで高いLTVを実現し、月額利用料収益に加えて決済手数料収益を組み合わせることで、より高い成長を目指せるビジネスモデルです。 一方、ホリゾンタルSaaSは広い市場をカバーできるメリットがあり、双方には明確な強みと役割があります。 SaaS事業者が次の成長ステージに進むためには、“業務 × 決済 × データ”を統合し、顧客体験をシームレスにすることが重要です。 fincodeは、バーティカルSaaSの成長を支える決済基盤として、最適なソリューションを提供します。 fincodeとは fincodeとは、GMOイプシロン株式会社が提供する、スピーディに導入できるオンライン決済サービスです。 シンプルで統一性のあるAPIと充実の開発支援コンテンツを提供し、エンジニアファーストな設計を追求しています。 fincodeが提供する決済画面のUIコンポーネント(JavaScript)をそのまま利用することで開発工数を削減し、簡単に決済を実装できます。 決済を通じてEC/SaaS/プラットフォーム、スタートアップからエンタープライズまで様々なビジネスの成長を支えます。 +FinTechによる新たな収益モデルの構築 fincodeのプラットフォーム機能を実装することで、決済金額に対する利用料が得られる新たな収益モデルの構築が可能です。 貴社のお客様(=テナント)へ提示する決済手数料に、「プラットフォーム利用料」を設定することで、差額が貴社の収益となります。 「貴社プロダクト + FinTech~新たな収益モデル構築のご提案~」資料ダウンロード > fincodeが選ばれる理由 エンジニアファーストの設計/洗練されたUX オープンでアクセスしやすいWEBドキュメント、REST APIと複数開発言語に対応したAPIリファレンス。 決済画面のUIも、Android/iOS対応のモバイルSDKにより、少ない開発工数で柔軟にカスタマイズ可能です。 見えない手数料、ゼロへ 初期費用・月額費用0円。 さらに、義務化されたEMV 3-Dセキュア認証についても追加費用0円で導入できます。 料金表に書かれていない見えない手数料はゼロ。カード決済は決済手数料のみでご利用いただけます。 国際標準を日本品質で fincodeは日本国内で生まれ、日本のビジネス環境に合わせて設計された決済サービスです。 海外発サービスでは難しい、日本ならではの細かな商習慣や感性まで理解して、日本の企業と共に成長していきます。 運営会社 会社名 GMOイプシロン株式会社(英文表記:GMO Epsilon, Inc.) 設立年月日 2002年9月26日 所在地 〒150-0043 東京都渋谷区道玄坂1丁目14番6号 ヒューマックス渋谷ビル7F 資本金 1億5百万円 事業内容 オンライン販売の決済代行、代金回収代行及びそれらに付帯する業務 主要株主 GMOペイメントゲートウェイ株式会社 (東証プライム上場:3769) グループ会社 GMOインターネットグループ 東証プライム上場企業のGMOペイメントゲートウェイの連結会社として、プライバシーマーク認証やPCI DSS、ISMS準拠のセキュリティ基準で安心してご利用いただける環境を提供しています。   事業規模によって決済手数料のご提案が可能です。 見積依頼 > fincodeサービス概要の資料ダウンロードはこちらから 資料請求 >

マーケティングチーム
バーティカルSaaSとは?ホリゾンタルSaaSとの違いも併せて解説

【初心者向け】Pythonでfincodeの決済APIを実行する実装例(決済URL作成編)

fincodeマーケティング担当です。 この記事では、fincodeのテスト環境を使って、たった数十行のPythonコードでカード決済を開始できる「決済URL作成API」の実装について説明します。 ※本記事の実装例は、非エンジニアが記述しているので、決済導入が初めてのエンジニアの方や、ビジネスサイドの方でも概要をイメージできる内容になっています。 本実装例で実現できること 本記事で紹介する「決済URL作成API」の実装を行うと、以下を実現できます。 fincodeが提供するリダイレクト型決済ページを発行し、その決済ページへのURLを出力 リダイレクト型決済ページから決済のテストを実行 リダイレクト型決済とは リダイレクト型決済は、fincodeが提供する決済画面を使用して購入者が決済を行う方法です。 ショップ自身で決済画面を構築することなく、fincodeの決済URLに購入者を誘導するだけで決済を行うことができます。 「オンライン決済接続方式比較ガイド」資料ダウンロード > コード全文:最小構成で動くPythonサンプル Python import os, requests, json API_KEY = os.getenv("FINCODE_TEST_SECRET_KEY") BASE_URL = "https://api.test.fincode.jp" ENDPOINT = "/v1/sessions" SUCCESS_URL = "http://localhost:8000/success" headers = { "Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json" } data = { "success_url": SUCCESS_URL, "transaction": { "pay_type": ["Card"], "amount": "1500" }, "card": { "job_code": "CAPTURE", "tds_type": "2", "tds2_type": "2" } } try: resp = requests.post(f"{BASE_URL}{ENDPOINT}", headers=headers, json=data, timeout=20) resp.raise_for_status() print("OK:\n" + json.dumps(resp.json(), ensure_ascii=False, indent=2)) except requests.exceptions.HTTPError: try: print(json.dumps(resp.json(), ensure_ascii=False, indent=2)) except Exception: print(resp.text) コードの流れを分解して理解する ①認証キーの設定 Python API_KEY = os.getenv("FINCODE_TEST_SECRET_KEY") テスト用シークレットキーを環境変数(※1)から取得します。 fincodeのテスト用シークレットキーは「m_test_**********************」という形式です。 fincodeのテスト環境管理画面にログイン後、「API・Webhook」タブからAPIキーを確認できます。 テスト環境のアカウントを作成する > テスト環境管理画面にログインする > セキュリティ上、APIキーをコード内に直接書くことは推奨されません。 ②リクエストヘッダーとリクエストボディ Python headers = { "Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json" } Authorizationヘッダーは "Bearer <キー>" の形式で送信します。 fincodeではBearer認証(※2)またはBasic認証が使用できます。本記事ではBearer認証で実装しています。 ヘッダーでは認証とJSON形式の指定を行い、ボディには以下の内容を指定します。 項目 内容 補足 success_url 決済完了後の戻り先 ローカル開発時はlocalhostでもOK pay_type 利用する決済手段 今回は「Card」のみ amount 決済金額 文字列で送信(例: "1500") job_code 売上確定方法 「CAPTURE」=即時売上、「AUTH」=仮売上 tds_type / tds2_type 3Dセキュア設定 「2」は3Dセキュア2.0対応 ※カード決済以外の決済手段を追加する方法はAPIリファレンスをご参照ください。 APIリファレンス > ③APIを実行 Python resp = requests.post(f"{BASE_URL}{ENDPOINT}", headers=headers, json=data, timeout=20) requests.post()で決済URL作成APIを呼び出します。 成功すると、以下のようなJSONレスポンスが返ってきます。 json { "id": "lk_**********************", "link_url": "https://secure.test.fincode.jp/v1/links/lk_**********************", } この link_url をブラウザで開くと、テスト用のリダイレクト型決済ページが表示されます。 ④エラー時の挙動 Python rexcept requests.exceptions.HTTPError: try: print(json.dumps(resp.json(), ensure_ascii=False, indent=2)) except Exception: print(resp.text) APIキーが誤っているなどの理由でエラーが発生した場合、APIが返したエラーメッセージを整形して表示します。 決済のテストを行う リダイレクト型決済ページにおいて、テストカードの番号を用いることで、カード決済のテストを行うことができます。 テストカードの番号はこちらからご確認いただけます。 カードの「有効期限、CVC、名前」は適当な内容で問題ないです。 (※1)プログラムが動く環境(パソコンやサーバー)にあらかじめ登録しておく設定情報のことです。APIキーなどの秘密情報をコードに書かず、安全に管理するために使われます。 (※2)APIキー(アクセストークン)をAPIリクエスト時に送ることで認証する方式です。認証に成功した場合のみリソースを参照・操作できます。 想定質問(FAQ) Q1. timeout は削除しても動きますか?→ 動作はしますが、サーバー応答が途絶えた際にプログラムが止まるリスクがあります。実運用では必須です。 Q2. CAPTURE と AUTH の違いは?→ CAPTUREは即時売上、AUTHは仮売上(後から確定)。 Q3. Bearerを付け忘れると?→ 認証エラー(401)が返ります。ヘッダーの形式 "Authorization": "Bearer <キー>" を必ず確認しましょう。 Q4. 本番環境では何を変える?→ BASE_URL を https://api.fincode.jp に変更し、本番用APIキーを設定します。 おわりに 本記事では、fincodeのテスト環境を使って、たった数十行のPythonコードでカード決済を開始できる「決済URL作成API」の実装について説明しました。 非エンジニアであるマーケティング担当者でも数十行の簡単なコードで実装ができたので、fincodeが開発しやすいことを実感しました。 fincodeとは fincodeとは、GMOイプシロン株式会社が提供する、スピーディに導入できるオンライン決済サービスです。 シンプルで統一性のあるAPIと充実の開発支援コンテンツを提供し、エンジニアファーストな設計を追求しています。 fincodeが提供する決済画面のUIコンポーネント(JavaScript)をそのまま利用することで開発工数を削減し、簡単に決済を実装できます。 決済を通じてEC/SaaS/プラットフォーム、スタートアップからエンタープライズまで様々なビジネスの成長を支えます。 +FinTechによる新たな収益モデルの構築 fincodeのプラットフォーム機能を実装することで、決済金額に対する利用料が得られる新たな収益モデルの構築が可能です。 貴社のお客様(=テナント)へ提示する決済手数料に、「プラットフォーム利用料」を設定することで、差額が貴社の収益となります。 「貴社プロダクト + FinTech~新たな収益モデル構築のご提案~」資料ダウンロード > fincodeが選ばれる理由 エンジニアファーストの設計/洗練されたUX オープンでアクセスしやすいWEBドキュメント、REST APIと複数開発言語に対応したAPIリファレンス。 決済画面のUIも、Android/iOS対応のモバイルSDKにより、少ない開発工数で柔軟にカスタマイズ可能です。 見えない手数料、ゼロへ 初期費用・月額費用0円。 さらに、義務化されたEMV 3-Dセキュア認証についても追加費用0円で導入できます。 料金表に書かれていない見えない手数料はゼロ。カード決済は決済手数料のみでご利用いただけます。 国際標準を日本品質で fincodeは日本国内で生まれ、日本のビジネス環境に合わせて設計された決済サービスです。 海外発サービスでは難しい、日本ならではの細かな商習慣や感性まで理解して、日本の企業と共に成長していきます。 運営会社 会社名 GMOイプシロン株式会社(英文表記:GMO Epsilon, Inc.) 設立年月日 2002年9月26日 所在地 〒150-0043 東京都渋谷区道玄坂1丁目14番6号 ヒューマックス渋谷ビル7F 資本金 1億5百万円 事業内容 オンライン販売の決済代行、代金回収代行及びそれらに付帯する業務 主要株主 GMOペイメントゲートウェイ株式会社 (東証プライム上場:3769) グループ会社 GMOインターネットグループ 東証プライム上場企業のGMOペイメントゲートウェイの連結会社として、プライバシーマーク認証やPCI DSS、ISMS準拠のセキュリティ基準で安心してご利用いただける環境を提供しています。   事業規模によって決済手数料のご提案が可能です。 見積依頼 > fincodeサービス概要の資料ダウンロードはこちらから 資料請求 >   あわせて読みたいおすすめの記事 【Python】クレジットカード決済の実装方法(決済登録API+決済実行JS編) Python(Flask)でPayPay決済APIを実装する方法(決済登録API+決済実行API)

マーケティングチーム
【初心者向け】Pythonでfincodeの決済APIを実行する実装例(決済URL作成編)

企業間決済の利便性がさらに進化「M’s PayBridge」サービスレベルアップ~請求も支払いも、もっとスマートに。業務効率化と資金繰りをサポート~

2025年9月24日 株式会社みずほ銀行 GMOイプシロン株式会社 企業間決済の利便性がさらに進化「M's PayBridge」サービスレベルアップ ~請求も支払いも、もっとスマートに。業務効率化と資金繰りをサポート~ 株式会社みずほ銀行(頭取:加藤 勝彦、以下「みずほ銀行」)とGMOイプシロン株式会社(代表取締役社長:村上 知行、以下「GMOイプシロン」)は、企業間決済プラットフォーム「M's PayBridge」(※1)(※2)において、サービスレベルを大幅に向上させる機能強化を実施しました。これにより、企業間取引における決済・業務プロセスがさらにシームレスとなり、請求企業・支払企業双方にとって新たな価値と利便性を提供します。 「M's PayBridge」は、GMOイプシロンのオンライン決済インフラ「fincode byGMO」を活用し、請求・資金回収・支払業務を一元管理できるプラットフォームです。今回の「fincode byGMO」の開発によるサービスレベルアップにて、お客さまの多様化する決済ニーズや業務効率化のニーズに、より柔軟かつ的確に対応できる仕様に整えました。 1.「M's PayBridge」サービスレベルアップ(概要・イメージ図) 「支払側」の機能を新たに追加するとともに、「請求側」は、既存サービスに「ビジネスカード」と「口座振替」を新たに追加し、「請求管理機能」をレベルアップしました。 2.サービスレベルアップの具体的な内容 (1)請求企業(売上を回収する企業)向け ①ビジネスカード(売上連動型)機能の追加 資金ニーズが発生した際、「M’s PayBridge」上で入金予定の売上金額を基にビジネスカード(バーチャルカード)の利用を申し込むことで、その時点の売上金額を基とした利用枠が都度設定され、支払いに充当できる機能です。これにより、売上の入金前でも必要な資金を調達でき、企業の資金繰り改善に役立ちます。 ②口座振替機能の追加 請求データに基づき、期日に自動で取引先口座(他行口座も対応)から引き落とせる機能です。これにより、定期的な取引の決済が自動化され、取引先企業による支払い漏れや、請求企業側での手作業による消込ミスを防止できます。回収業務の自動化・省力化により、業務負担も大幅に軽減します。 ③請求管理機能の拡充 請求・決済情報を一元管理し、履歴やステータスをリアルタイムで可視化する機能です。これにより、支払い状況の確認や管理上のミスがなくなり、業務効率化と情報の取りこぼし防止に貢献します。 【請求企業:キャッシュフロー改善と業務効率化を実現する2つの新機能】(概要) (2)支払企業(お取引先企業)向け ①請求書カード払い機能の追加 振込指定された請求書の支払いをクレジットカード決済で行える機能です。これにより、振込手続きの手間が減少することに加え、支払い猶予の確保が可能となり、資金繰りの改善に寄与します。 ②支払管理機能の追加 請求情報を登録し、支払い状況をリアルタイムで照会できる機能です。これにより、支払業務の透明性・効率性が向上します。手続きの簡素化と資金運用の自由度拡大により、企業間取引の新たなスタンダードとなるプラットフォームへ進化します。 【支払企業:資金繰り改善と業務効率化を実現する2つの新機能】 この度の機能強化は、2025年4月に策定した「M's PayBridge」ロードマップに基づいた計画的アップデートであり、企業間決済に求められるスピード感と安定性の両立を前進させるうえで重要なマイルストーンです。 今後もみずほ銀行とGMOイプシロンは、企業間取引のさらなる利便性向上と業務効率化を目指し、「M's PayBridge」の機能拡充を続けていくとともに、多様化する企業のニーズに応え、お客さまの成長を支援し、社会全体の持続的な発展に努めていきます。 (※1)2024年12月6日付ニュースリリース 「企業間決済プラットフォームの構築・提供に関する業務提携契約について」 (※2)2025年4月24日付ニュースリリース 「企業間決済プラットフォーム「M's PayBridge」の取扱開始について」 GMOイプシロン株式会社について スタートアップ、テック企業、SME領域の事業者に、オンライン決済サービス「fincode byGMO」「Epsilon byGMO」やビジネスの成長を支援するサービスを提供しています。 「fincode byGMO」はスタートアップ向けに設計されたオンライン決済インフラです。Eコマースに加え、プラットフォーム型やサブスクリプション型などさまざまなビジネスモデルに対応し、短期間での導入を実現します。2025年6月には、国内PSPとして初めて「MCP(Model Context Protocol)」に対応し、AIエージェントとの連携も可能にするなど、進化を続けています。「Epsilon byGMO」は、初期費用・トランザクション処理料(※3)無料で、多様な決済手段を一括導入できる決済代行サービスです。個別契約の手間を省き、EC事業者の販売機会拡大を支援します。 そして、売上連動型ビジネスカード「Cycle byGMO」、レンディングや送金サービスなどの金融関連サービスを通じて、事業者のキャッシュフロー改善と成長支援を行っています。 GMOイプシロンは、東証プライム上場のGMOペイメントゲートウェイの連結会社として、プライバシーマーク認証やPCI DSS、ISMS準拠のセキュリティ基準で安心してご利用いただける環境を提供しています。 (※3)トランザクション処理料とは、クレジットカードのオーソリゼーション(承認番号取得)や請求等でクレジットカード会社との通信ごとにかかる料金。 サービスに関するお問い合わせ先 GMOイプシロン株式会社 「fincode byGMO」サポートチーム お問い合わせフォーム:https://form.fincode.jp/contact   あわせて読みたいリリース情報 企業間決済プラットフォームの構築・提供に関する業務提携契約について~日本経済の持続的な成長への貢献~ 企業間決済プラットフォーム「M’sPayBridge」の取扱開始について

マーケティングチーム
企業間決済の利便性がさらに進化「M’s PayBridge」サービスレベルアップ~請求も支払いも、もっとスマートに。業務効率化と資金繰りをサポート~