ETH決済の運用:価格設定・ガス代・承認管理

ETH決済の運用:価格設定・ガス代・承認管理

Author: Xi Wang
Created:

ETH決済の導入は、Ethereumアドレスを掲載して送金を待つだけでは済みません。事業者向けの決済には、価格、正確な支払い要求、有効期限のルール、承認の処理、注文との関連付け、そして入金後に確実に実行される処理が必要です。

Yolfiは、対応している資産とネットワークの組み合わせについて、暗号資産の決済リンク、サブスクリプション、決済イベント、Webhook、非カストディ型のウォレット直接入金を提供しています。Ethereum上のETHを提供できるのは、その組み合わせが事業者の認証済み設定画面に実際に表示される場合に限ります。一般公開されている資産やネットワークのページだけでは、入金に対応していることの証明にはなりません。

本ガイドでは、ETH決済フローを構築する際の実務的な判断事項を扱います。ETH建てにすべき場合とEthereum上のステーブルコインを使うべき場合、ガス代や為替レートの変動への対処、承認の前後にアプリケーションが行うべき処理を解説します。

Ethereum決済を受け付けるとは?

Ethereumはブロックチェーンネットワークです。ETHはそのネイティブ資産で、取引手数料の支払いに使われるほか、決済手段として送金することもできます。Ethereumでは、USDCやUSDTなどのステーブルコインを含むトークンも扱われます。ネットワークの概要については、Ethereum.orgの「Ethereumとは?」をご覧ください。

Yolfiでの位置づけについては、Ethereumネットワークの概要とETH資産ページをご覧ください。これらの公開ページはネットワークと資産を説明するもので、特定のアカウントで入金が利用できることを示すものではありません。

顧客がETHで支払う場合、通常は次の流れになります。

  1. 決済フローで、注文または顧客に紐づく支払い要求を作成します。
  2. 支払い要求には、ETH、Ethereumネットワーク、受取アドレス、正確な金額、該当する場合は有効期限を表示します。
  3. 顧客が対応ウォレットでトランザクションを承認します。
  4. トランザクションがEthereumに送信され、保留状態になります。
  5. 決済システムが送金を検知し、必要な承認状態になるまで待機します。
  6. 検証済みの決済イベントを受けて、アプリケーションが注文の提供、請求書の更新、または利用期間の延長を行います。

最後の手順が重要です。トランザクションハッシュは取引を識別するものですが、ハッシュがあるだけでは、その取引がネットワークに配信されたこと、承認されたこと、または正しい注文に紐づいたことを証明できません。

ETHとEthereum上のステーブルコイン、どちらを選ぶべきか?

ETHとステーブルコインは同じネットワークを利用できますが、適した料金設定は異なります。

確認事項 ETH Ethereum上のステーブルコイン
何が送金されるか Ethereumのネイティブ資産 USDCやUSDTなど、トークンコントラクト上の残高
市場価値は変動するか はい 一般には米ドルなどの基準通貨に連動するよう設計されている
ガス代は誰が支払うか 送信者がETHで支払う 送信者はガス代用のETHも必要
適している用途 暗号資産に慣れた購入者、ETH建ての商品、任意で選べるウォレット決済 法定通貨建ての請求書、プラン、金額を安定させたい商品
主な運用上の課題 決済中の為替レート変動 正確なトークンコントラクトとネットワークを明示する必要がある

顧客がすでにETHを保有している場合や、商品がもともとETH建ての場合は、ETHを選択肢に加えるとよいでしょう。商品価格が米ドルで固定されている場合は、Ethereum上のステーブルコインのほうが顧客にも経理担当者にも扱いやすいことがあります。トークン数量をETHの市場価格に連動させる必要がないためです。

Ethereum上で動作するという理由だけで、ステーブルコイン決済をETH決済と表現してはいけません。「Ethereumで0.02 ETHを支払う」と「Ethereumで50 USDCを支払う」は別の決済方法です。後者はトークンコントラクトを利用し、顧客はネットワーク手数料を支払うために少量のETHも必要です。

ステーブルコイン固有の設定については、USDC決済の導入ガイドとUSDT決済の導入ガイドをご覧ください。

ETH決済が適している場面

ETHは、次のような場合に追加の決済手段として役立ちます。

  • 顧客がすでにEthereumウォレットを利用している
  • 開発者、暗号資産関連企業、コレクター、トレーダーなど、Ethereumを日常的に利用する顧客向けの商品である
  • 顧客がETH残高から請求書を支払いたいと希望している
  • 事業者が設定済みウォレットへ直接入金を受けたい
  • 商品やサービスを意図的にETH建てで販売している
  • 承認済みの支払いを契機に、商品提供やアカウント権限の付与を行う必要がある

一方、ETHを保有していない顧客が少額の法定通貨建て商品を購入する場合、標準の決済手段としては適していません。顧客はETHを入手し、ウォレットを管理し、ネットワーク手数料を支払う必要があります。顧客層にカード決済や銀行振込のほうが適している場合は、それらも残してください。

ETHとステーブルコインを併用することもできます。考えられる資産をすべて初期表示するのではなく、顧客の需要に合わせて表示する決済手段を決めましょう。

決済フローを構築する前に料金モデルを決める

ETHの支払い要求では、価格の基準を一つに明確化する必要があります。

ETHで固定価格を設定する

売り手がETHを基準に価格を考える場合は、ETHでの固定価格が適しています。支払い時点の法定通貨換算額にかかわらず、商品価格を一定のETH数量に設定できます。

決済ページでの表示は単純になりますが、市場変動のリスクは事業者が負います。現地通貨で見た売上額は、価格設定時、支払い時、その後の換金時の間に変動する可能性があります。

法定通貨の価格をETHに換算する

法定通貨建ての商品では、決済開始時に必要なETH数量を計算できます。その場合、支払い要求には次の項目を表示します。

  • 基準となる法定通貨の価格
  • 送金する正確なETH数量
  • 決済ページに表示する場合は、使用したレートまたは見積もり
  • 見積もりの有効期限
  • 支払いが遅れた場合や金額が異なる場合の対応

価格変動の影響を受ける見積もりを無期限に有効にしてはいけません。市場価格の変動後に顧客が古いETH数量を送ると、現在価格に対して過少払いまたは過払いになる可能性があります。

Ethereum上のステーブルコインで価格を設定する

もともと米ドル建ての商品であれば、Ethereum上で対応しているステーブルコインを使うことで、ETHへの換算に伴う問題の大部分を避けられます。ただし、ネットワーク手数料、承認処理、トークンの検証は引き続き必要です。支払い要求には、正確な資産、決済システムが認識するトークンコントラクト、ネットワーク、金額、アドレス、決済状態を明示する必要があります。

Ethereumのガス代を考慮する

ガス代とは、Ethereum上の計算処理とトランザクション処理に対して支払う手数料です。送信者がETHで支払い、ネットワークの需要によって金額が変わります。Ethereum.orgのガスに関する資料では、ガスリミット、ベースフィー、優先手数料、そしてウォレットに表示される最終的な手数料がトランザクションやその時点の状況によって変わる理由を解説しています。

事業者が混乱を防ぐには、次の4つのルールが有効です。

  1. ガス代と購入金額を分ける。 支払い要求が0.05 ETHなら、事業者が受け取る金額は0.05 ETHです。ウォレットには、ガス代を支払うためのETHが別途必要です。
  2. ネットワーク手数料を固定額で約束しない。 ウォレットによる現在の見積もりを表示するか、Ethereumのネットワーク手数料がかかることを顧客に伝えます。
  3. 少額決済の採算性を確認する。 技術的には有効な支払いでも、購入金額に対してガス代が高すぎる場合、顧客にとって魅力的ではありません。
  4. 公開済みのルールなしに返金額からガス代を差し引かない。 別途行う返金トランザクションの手数料を、事業者と顧客のどちらが負担するかを明記します。

トークンの送金ではトークンコントラクトを呼び出すため、一般に基本的なETH送金より多くのガスを使用します。ただし、実際の手数料はトランザクションやネットワークの状況に左右されるため、固定的な手数料比較を掲載するのは避けましょう。

Ethereumメインネットとその他のネットワーク

ウォレットでは、Ethereumメインネットだけでなく、ほかのネットワークにも「ETH」と表示されることがあります。アドレス形式が似ていても、ネットワークを相互に置き換えることはできません。資産名がETHであったり、宛先が0xで始まったりしても、別のネットワークで送信されたトランザクションはEthereumメインネットでの支払いではありません。

実際の決済ページでEthereumメインネットが選択されている場合は、Ethereumメインネットを使用します。別のネットワークを検討するのは、次の3条件をすべて満たす場合に限ります。

  • 実際のYolfi設定画面で対応する選択肢として表示されている
  • 入金先ウォレットがそのネットワーク向けに設定され、テスト済みである
  • 顧客が実際にそのネットワークを利用している

ウォレット、アドレス形式、トークン一覧だけを根拠に対応状況を判断してはいけません。実際の決済フローに表示される資産とネットワークの組み合わせだけを案内してください。決済画面での表示、問題発生時に残す証拠、再支払いの依頼について詳しくは、暗号資産のネットワーク間違いを防ぐための事業者向けガイドをご覧ください。

YolfiでETH決済フローを準備する方法

1. ウォレットを設定する前に利用可否を確認する

認証済みの入金設定画面を開き、自社アカウントでEthereum上のETHが実際に提供されているか確認します。表示されない場合は、ETHを決済手段として案内したり、顧客に送金を求めたりしないでください。代わりに、現在対応している資産とネットワークの組み合わせを使用します。

対応している組み合わせでは、Yolfiは非カストディ型の仕組みを採用しています。支払いはYolfiが保有する残高に入るのではなく、顧客から事業者の設定済みウォレットへ直接送金されます。資産を預ける工程が減る一方、ウォレットの安全性、アドレスの所有、入出金照合は事業者の責任となります。Ethereum上のETHが利用可能になった場合は、事業者が管理するEthereumの入金先アドレスだけを追加し、1文字ずつ間違いがないか確認してください。

2. ETHと、画面に表示される正確なネットワークを選ぶ

認証済みの設定画面でETHとEthereumの組み合わせが利用できる場合に限り、それを選択します。Yolfiにほかのネットワークも表示される場合、それぞれを別個の決済経路として扱い、個別にテストし、顧客向け案内と入金記録を用意してください。

決済ページには、単に「暗号資産」や「ここにETHを送金」と書くのではなく、「Ethereum上のETH」と明記します。顧客がトランザクションを承認する画面でも、ネットワークを再度表示してください。

3. 金額と有効期限のルールを設定する

ETH建ての商品では、正確なETH数量を設定します。法定通貨建ての商品では、決済フローで見積もりETH数量を計算し、その見積もりの有効期間を定めます。

次の場合にシステムがどう処理するか、あらかじめ決めておきましょう。

  • 有効期限前に送信されたが、期限後に承認されたトランザクション
  • 有効期限後に送られた支払い
  • 要求額を下回る支払い
  • 要求額を上回る支払い
  • 1件の注文に対して2件のトランザクションが送られた場合

注文履歴を黙って変更して解決してはいけません。不一致は確認対象とするか、文書化した方針に従って新しい支払い要求を発行してください。

4. 決済リンクを作成するか、決済フローを接続する

暗号資産の決済リンクは、請求書、サービスプラン、デジタル商品、またはETHでの支払いを希望する顧客に対して、構造化された決済手段を最短で用意する方法です。独自連携を構築しなくても、送金に金額と取引上の情報を付けられます。

セルフサービス型の商品では、決済フローを自社の注文情報や顧客情報と接続する必要があります。次の識別情報を保存してください。

  • 顧客IDまたはアカウントID
  • 注文IDまたは請求書ID
  • 商品とプラン
  • 法定通貨での基準価格と見積もりETH数量
  • 見積もりの作成時刻と有効期限
  • 選択した資産とネットワーク

これらの項目を保存しておけば、ウォレットの入出金だけから推測せずに、顧客対応や会計処理を行えます。

5. 必要な承認状態になるまで待つ

Ethereumのトランザクションは複数の状態を経ます。保留中のままになったり、置き換えられたり、失敗したり、ブロックに取り込まれたりする可能性があります。Ethereumのトランザクションに関する資料では、トランザクションの項目、手数料、ノンス、署名、ブロックに取り込まれる仕組みを解説しています。

注文の金額とリスクに応じた承認方針を設定してください。すべての事業者に同じ固定承認回数が必要だとは断定できません。決済フローが示す承認済みの状態を使用し、事業者独自の追加方針があれば適用します。

ウォレットのスクリーンショット、ブラウザの戻り先ページ、ハッシュだけを根拠に商品やサービスを提供してはいけません。トランザクションのネットワーク、資産、宛先、正確な金額、注文、承認状態が支払い要求と一致するか確認してください。

6. 決済イベントをべき等に処理する

Ethereum上のETHに対応し、有効化されている場合は、Yolfiの決済イベントまたはWebhookを使い、承認結果をアプリケーションに連携します。承認済みイベントを受けて、次の処理を実行できます。

  • 請求書を支払い済みにする
  • ダウンロード商品やライセンスを提供する
  • クレジットを追加する
  • アカウントを有効化する
  • 有料期間を延長する
  • 経理または顧客対応担当者に通知する

Webhookの処理はべき等でなければなりません。同じイベントを複数回受信しても、商品を二重に提供したり、サブスクリプションを二重に延長したりしない設計が必要です。支払い参照情報とトランザクション識別子を保存し、連携機能で定められた方法に従ってイベントを検証します。永続的な処理が完了してから成功レスポンスを返し、必要に応じて内部処理を安全に再試行できるようにしてください。

決済リンクと組み込み型決済フロー、どちらを選ぶべきか?

必要な制御を確保できる範囲で、最も簡単な方法を選びます。

用途 最初に選ぶ方法 理由
コンサルティングの請求書 決済リンク 既存の顧客とのやり取りの中で簡単に送れる
単発のデジタル商品 決済リンクまたは決済フロー 商品提供が手動か自動かによって異なる
SaaSのアップグレード 組み込み型決済フロー アカウント、プラン、利用権限の更新が必要
APIクレジット 組み込み型決済フロー 承認後、残高を一度だけ更新する必要がある
個別の年間契約 決済リンク 営業担当者が明確な請求書参照情報を付けられる
継続会員 サブスクリプション決済フロー 更新状態と利用権限のルールが必要

単なるウォレットアドレスは決済リンクではありません。支払いごとの要求、正確な現在価格、有効期限、注文参照情報、顧客向けの決済状態がないためです。

ETHサブスクリプションには料金ルールが必要

Yolfiは、対応している決済の組み合わせについて暗号資産サブスクリプションを提供しています。これにEthereum上のETHが自動的に含まれるとは限りません。その組み合わせが認証済みの設定画面に表示される場合は、ETHサブスクリプションを提供する前に、プラン自体をETH建てにするか、法定通貨建てにするかを決めてください。

ETH数量を固定するプランではトークン数量は変わりませんが、法定通貨での価値は変動します。法定通貨建てのプランでは、請求または支払い要求のたびに新しいETH見積もりが必要です。請求額を法定通貨の価格に近づけたい場合は、Ethereum上のステーブルコインのほうが扱いやすいことがあります。

利用権限のルールは、引き続き自社の商品側で管理します。次の点を定めてください。

  • 利用権限を開始するタイミング
  • どの決済状態になったら有料期間を延長するか
  • 保留中または失敗した更新を解決するまでの猶予
  • 猶予期間を設けるか
  • 解約によって何が変わるか
  • 重複払いや遅延払いをどう扱うか

決済イベントが伝えるのは資金面の状態です。商品のサブスクリプション状態を管理する仕組みの代わりにはなりません。

返金と会計処理

承認済みのEthereum決済は、カードネットワークの支払い取消しのように取り消すことはできません。ただし事業者は、返金方針に従い、別のトランザクションを送信して顧客に返金できます。

返金前に、次の手順を行ってください。

  1. 元の注文と承認済みトランザクションを確認する
  2. 承認された返金額と資産を確認する
  3. 文書化した手順に従って返金先アドレスを取得し、検証する
  4. ネットワーク手数料の扱いを明示する
  5. 適切な社内承認を必須とする
  6. 返金トランザクションを元の入金とは別に記録する

予期しないメッセージに貼り付けられたアドレスへ、自動的に返金してはいけません。支払者、アカウント所有者、提示された送金先が同一人物とは限りません。

支払いごとに、注文参照情報、顧客、資産、ネットワーク、暗号資産数量、事業者が使用した法定通貨での基準額とその時刻、入金先アドレス、トランザクション識別子、承認状態、自社で記録した手数料、その後の返金を保存してください。会計・税務上の扱いは管轄地域によって異なるため、必要な評価方法や申告方法を有資格の専門家に確認してください。

ETH決済導入でよくある間違い

ウォレットアドレスだけを掲載する

アドレスだけでは、現在の金額、ネットワーク、有効期限、注文参照情報が顧客に伝わりません。送金と購入を紐づける支払い要求を使用してください。

ETHとEthereumを同義語として扱う

Ethereumはネットワーク、ETHはそのネイティブ資産です。Ethereum上では、ステーブルコインやその他のトークンも送金できます。顧客向けの案内には、資産とネットワークの両方を明記してください。

ガス代の変動を無視する

事業者が設定する価格と顧客が支払うガス代は別です。固定手数料を宣伝したり、ETH送金とトークン送金の手数料が同じだと想定したりしないでください。

ETHの見積もりを長期間有効にする

古い見積もりは、避けられたはずの過少払いや過払いを招きます。明確な有効期限を設け、必要に応じて新しい支払い要求を発行してください。

戻り先ページだけで商品を提供する

有効な支払いが承認される前に、ブラウザが戻り先ページへ移動する場合があります。検証済みの決済状態、または支払い要求と一致する検証済みWebhookを受けてから、商品やサービスを提供してください。

すべてに同じ承認ルールを固定する

承認方針は、トランザクションの状態、注文金額、リスクを考慮して決める必要があります。ハッシュが表示されただけの状態と、高リスクな注文に対する提供判断を分けてください。

0xで始まる送金はすべてEthereumメインネットだと思い込む

Ethereum形式のアドレスを使うネットワークは複数あります。実際の決済フローで選択されたネットワークだけを受け付け、そのネットワーク上でトランザクションを検証してください。

返金と帳簿管理の手順を用意しない

ウォレットへの直接入金を採用しても、顧客対応や会計業務はなくなりません。取引量が増える前に、アドレスの検証、承認手続き、ネットワーク手数料の扱い、評価記録、入出金照合の方法を定めてください。

よくある質問

WebサイトでEthereum決済を受け付けるにはどうすればよいですか?

まず、認証済みのYolfi設定画面にEthereum上のETHが表示されることを確認します。表示される場合は、入金先ウォレットを設定し、決済リンクまたは組み込み型決済フローを作成します。正確な金額と有効期限を表示し、注文に対応する前に、承認済みの決済状態または検証済みのWebhookを確認してください。表示されない場合は、管理されていない送金を受け付けるのではなく、対応している組み合わせを選んでください。

KYCなしでETH決済を受け付けられますか?

一般公開されているETHページだけから判断してはいけません。自社アカウントで利用できる決済の組み合わせについて、現在の利用開始手続きと認証済み設定画面の要件を確認してください。また、事業内容や管轄地域によっては、法務、税務、顧客確認、報告に関する独自の義務が事業者に生じる場合があります。

Ethereumのガス代は顧客が支払いますか?

送信元ウォレットが、Ethereumのネットワーク手数料をETHで支払います。ガス代は購入金額と分けて扱ってください。見積額は、ネットワーク需要やトランザクションの種類によって変わります。

商品価格はETH建てと法定通貨建てのどちらにすべきですか?

商品を意図的にETH建てで販売し、事業者が為替レート変動を受け入れる場合は、ETHで固定価格を設定します。法定通貨建ての商品では、有効期限付きのETH見積もりを作成するか、料金モデルに合う場合は対応ステーブルコインを提供してください。

ETH決済には何回の承認が必要ですか?

すべての事業者や注文に当てはまる単一の回数はありません。決済システムが示す承認済みの状態と、トランザクションの状態、金額、商品提供上のリスクに基づく明文化されたリスク方針を使用してください。送信済みであることやトランザクションハッシュだけを承認の根拠にしてはいけません。

ETHの代わりに、Ethereum上のUSDCやUSDTを受け付けられますか?

実際のYolfi設定画面で、該当するステーブルコインとEthereumの組み合わせが提供されている場合は可能です。ステーブルコインは法定通貨建ての商品に適していますが、顧客はガス代用のETHを用意し、正しいトークンとネットワークを使用する必要があります。

Ethereumメインネット以外のネットワークでETHを受け付けられますか?

別のネットワークを有効にするのは、実際のYolfi設定画面に表示され、入金先ウォレットがそのネットワーク向けに正しく設定され、顧客が利用している場合に限ります。アドレス形式やウォレットの表示だけから、対応していると判断しないでください。

ETH決済は返金できますか?

承認済みの支払いは、カードの支払い取消しのようには取り消せません。事業者は、注文、金額、資産、送金先、社内承認、ネットワーク手数料の扱いを確認したうえで、返金方針に従って別のトランザクションを送信できます。

Yolfiは私のETHを保管または換金できますか?

対応している決済の組み合わせでは、非カストディ型の直接入金が文書化された仕組みです。顧客の支払いは、事業者が設定したウォレットへ送金されます。YolfiがETHを保管、換金し、後日払い出すことを前提とした運用は行わず、認証済みの設定画面に表示されない限りETHに対応していると判断しないでください。

まとめ

Ethereum決済を確実に受け付けるには、単なるウォレットアドレスの掲載ではなく、決済システムとして設計する必要があります。料金モデルに合わせてETHまたはEthereum上のステーブルコインを選び、ガス代と購入金額を分け、価格変動の影響を受ける見積もりに有効期限を設け、正確なネットワークを表示し、承認済みの決済データを待ってください。

認証済みのYolfi設定画面にEthereum上のETHが表示される場合は、1つの商品と1つの決済経路から始めましょう。正確な金額、有効期限、ウォレットのトランザクション、承認、Webhook、商品提供、入出金照合、返金手順をテストしてください。その経路が正しく機能し、顧客の需要が追加の複雑さに見合うと確認できてから、サブスクリプションやほかのネットワークを追加しましょう。その組み合わせが利用できない場合は、単なるウォレットアドレスで代用しないでください。

ビジネスで暗号資産決済を始めましょう 今すぐ

売上を最大化し、コストを最小化します。