マルチカレンシー
このページで扱うトピック
概要: Omiseのマルチ通貨決済により、複数の通貨での支払いを受け付けることができます。USD、EUR、GBP、その他のサポートされている通貨でクレジットカードやデビットカードに請求しながら、現地通貨(THB、SGD、またはJPY)で入金を受け取ります。このガイドでは、セットアップ、実装、為替レート、AVSによる国際カード処理、返金、トラブルシューティング、よくある質問について説明します。
主な機能: - USD、EUR、GBP、JPY、AUDなど12以上の通貨での決済 - 透明性のある為替レートによる自動通貨換算 - VisaおよびMastercardクレジットカード・デビットカードのサポート - タイおよびシンガポールの加盟店に対応 - 国際カード向けのアドレス認証サービス(AVS)との統合
重要: 非自国通貨(入金通貨とは異なる通貨)で決済する場合、カード会員はカード発行会社が決定する外国為替レートの対象となります。このレートはOmiseのレートとは異なる場合があります。高額取引の場合、この差異により2,000〜3,000 THB以上の違いが生じる可能性があります。可能な限り、顧客の現地通貨で決済することをお勧めします。
マルチ通貨を使用して、アカウントの入金通貨とは異なる通貨でクレジットカードおよびデビットカードに請求できます。Omiseはアカウントの入金通貨(決済通貨)への換算を透過的に処理し、カード会員が希望する通貨(提示通貨)で購入できるようにします。
この機能の使用方法について、以下をお読みください。
有効化方法
- サポート国: タイ、シンガポール
- 最小APIバージョン:
2014-07-27
マルチ通貨を有効にするには、support@omise.coにこの機能のリクエストメールを送信してください。新しい利用規約を確認し、承諾する必要があります。
重要事項
- この機能はクレジットカードおよびデビットカードの決済のみをサポートしており、代替決済方法(インターネットバンキングなど)はサポートされていません
- この機能はVisaおよびMastercardブランドのカードのみをサポートしています
- 特定の状況において、カード会員が自国通貨で支払う場合でも、発行銀行により外貨取引手数料が請求される場合があります
外国為替レートに関する考慮事項
非自国通貨で決済する場合(決済通貨とは異なる通貨)、カード会員はカード発行会社が決定する外国為替レートの対象となります。この発行会社の為替レートは、決済時にOmiseが適用するレートよりも高いことが多く、Omiseが管理するものではありません。
重要: 高額取引では、Omiseのレートとカード発行会社のレートの差により、2,000〜3,000 THB以上の違いが生じる可能性があります。顧客の混乱や潜在的な紛争を避けるため、可能な限り現地通貨で決済することをお勧めします。
サポート通貨
サポートされる通貨は、アカウントが登録されている国によって異なります。
| 通貨 | 名称 | タイ | シンガポール | 日本 |
|---|---|---|---|---|
| AUD | オーストラリアドル | ✓ | ✓ | ✓ |
| CAD | カナダドル | ✓ | ✓ | |
| CHF | スイスフラン | ✓ | ✓ | ✓ |
| CNY | 人民元(中国元) | ✓ | ✓ | ✓ |
| DKK | デンマーククローネ | ✓ | ✓ | |
| EUR | ユーロ | ✓ | ✓ | ✓ |
| GBP | ポンドスターリング(英国ポンド) | ✓ | ✓ | ✓ |
| HKD | 香港ドル | ✓ | ✓ | ✓ |
| JPY | 日本円 | ✓ | ✓ | ✓† |
| MYR | マレーシアリンギット | ✓ | ✓ | |
| SGD | シンガポールドル | ✓ | ✓† | ✓ |
| THB | タイバーツ | ✓† | ✓ | ✓ |
| USD | 米ドル | ✓ | ✓ | ✓ |
† アカウント入金通貨
実装
タイで登録されたアカウントを使用して、USD 1,000の決済を作成する手順を説明します。
マルチ通貨決済の作成は、標準決済の作成と同様です:
トークンの作成
トークンを作成するには、Omise.jsガイドの手順に従ってください。テストについてはこちらに記載されている例に従ってください。シンプルな支払いフォームの場合は、チェックアウトページに以下を挿入します:
<form id="checkout-form" method="POST" action="/checkout">
<script type="text/javascript" src="https://cdn.omise.co/omise.js"
data-key="OMISE_PUBLIC_KEY"
data-amount="100000"
data-currency="USD">
</script>
</form>
マルチ通貨決済の作成
前のステップで作成したトークンを使用して、決済APIリクエストを作成します。結果の決済オブジェクトで以下の属性を確認してください:
currency: 決済が作成された通貨(USD
)funding_currency: アカウント入金通貨(THB
)funding_amount: アカウント入金通貨に換算後の決済金額
amountおよびrefunded_amountを除き、すべての金額はアカウント入金通貨で指定されます。
curl https://api.omise.co/charges \
-X POST \
-u $OMISE_SECRET_KEY: \
-d "amount=100000" \
-d "currency=USD" \
-d "card=$TOKEN_ID"
レスポンス:
{
"object": "charge",
"id": "chrg_test_5vkl514m8b2vdc6a4a0",
"location": "/charges/chrg_test_5vkl514m8b2vdc6a4a0",
"amount": 100000,
"net": 3174670,
"fee": 120585,
"fee_vat": 8441,
"interest": 0,
"interest_vat": 0,
"funding_amount": 3303696,
"refunded_amount": 0,
"transaction_fees": {
"fee_flat": "0.0",
"fee_rate": "3.65",
"vat_rate": "7.0"
},
"platform_fee": {
"fixed": null,
"amount": null,
"percentage": null
},
"currency": "USD",
"funding_currency": "THB",
"ip": null,
"refunds": {
"object": "list",
"data": [],
"limit": 20,
"offset": 0,
"total": 0,
"location": "/charges/chrg_test_5vkl514m8b2vdc6a4a0/refunds",
"order": "chronological",
"from": "1970-01-01T00:00:00Z",
"to": "2023-04-26T04:22:24Z"
},
"link": null,
"description": null,
"metadata": {},
"card": {
"object": "card",
"id": "card_test_5vkl50xxlu3b5hu2qwx",
"livemode": false,
"location": null,
"deleted": false,
"street1": null,
"street2": null,
"city": "Bangkok",
"state": null,
"phone_number": null,
"postal_code": "10320",
"country": "us",
"financing": "credit",
"bank": "JPMORGAN CHASE BANK N.A.",
"brand": "Visa",
"fingerprint": "XjOdjaoHRvUGRfmZacMPcJtm0U3SEIIfkA7534dQeVw=",
"first_digits": null,
"last_digits": "4242",
"name": "Somchai Prasert",
"expiration_month": 9,
"expiration_year": 2024,
"security_code_check": true,
"tokenization_method": null,
"created_at": "2023-04-26T04:22:22Z"
},
"source": null,
"schedule": null,
"customer": null,
"dispute": null,
"transaction": "trxn_test_5vkl518v7tgkff10rxo",
"failure_code": null,
"failure_message": null,
"status": "successful",
"authorize_uri": null,
"return_uri": null,
"created_at": "2023-04-26T04:22:23Z",
"paid_at": "2023-04-26T04:22:23Z",
"expires_at": "2023-05-03T04:22:23Z",
"expired_at": null,
"reversed_at": null,
"zero_interest_installments": true,
"branch": null,
"terminal": null,
"device": null,
"authorized": true,
"capturable": false,
"capture": true,
"disputable": true,
"livemode": false,
"refundable": true,
"reversed": false,
"reversible": false,
"voided": false,
"paid": true,
"expired": false
}
為替レート
マルチ通貨決済の場合、元の決済で指定された金額は、1日の中間市場レートの約2〜4%上のレートで、アカウント入金通貨に透過的に換算されます。Omiseが使用する為替レートを確認するには、外国為替APIをリクエストしてください。
決済の最小金額および最大金額はアカウント入金通貨で設定されているため、マルチ通貨決済の実効的な最小金額および最大金額は、現在の為替レートに応じて変動します。
curl https://api.omise.co/forex/usd \
-u $OMISE_SECRET_KEY:
レスポンス:
{
"object": "forex",
"rate": 33.036961874999996,
"location": "/forex/usd",
"livemode": false,
"base": "USD",
"quote": "THB"
}
国際カードの処理
マルチ通貨取引と国際カードは技術的には異なる概念ですが、実際には両方が同時に発生することが多くあります。マルチ通貨決済を受け付ける加盟店のほとんどは、国際カードも処理しています。
AVSによる承認率の向上
マルチ通貨決済の受け入れを計画する際は、クレジットカードフォームにアドレス認証サービス(AVS)の実装も検討する必要があります。AVSは国際カード会員、特に米国、英国、カナダからの承認成功率を大幅に向上させます。
AVS実装の詳細なガイダンスについては、米国、英国、カナダのカード会員の承認率を向上させる方法を参照してください。
AVSを実装することで、国際カード検証に関連する取引失敗を減らし、顧客の全体的な決済体験を向上させることができます。
返金
マルチ通貨決済の全額または一部返金を作成するには、返金APIまたはダッシュボードを使用します。使用される為替レートは、返金を作成した時点のレートです。返金は元の決済通貨で処理されるため、金額を指定するだけで済みます。
curl https://api.omise.co/charges/$CHARGE_ID/refunds \
-X POST \
-u $OMISE_SECRET_KEY: \
-d "amount=100000"
レスポンス:
{
"object": "refund",
"id": "rfnd_test_5vkl51js322cag57de2",
"location": "/charges/chrg_test_5vkl50ovmiye8iui9ch/refunds/rfnd_test_5vkl51js322cag57de2",
"livemode": false,
"voided": true,
"currency": "USD",
"amount": 100000,
"metadata": {},
"charge": "chrg_test_5vkl50ovmiye8iui9ch",
"terminal": null,
"transaction": "trxn_test_5vkl51k12dp76doxgvk",
"status": "closed",
"funding_amount": 3303696,
"funding_currency": "THB",
"created_at": "2023-04-26T04:22:25Z"
}
ダッシュボード
アカウントダッシュボードでマルチ通貨決済の詳細を確認できます:

エラー
マルチ通貨が有効になっていない場合、マルチ通貨決済はfailed_multi_currencyエラーで失敗します。このエラーが発生した場合は、support@omise.coにお問い合わせください。
決済通貨がアカウントでサポートされていない場合、マルチ通貨決済はinvalid_chargeエラーで失敗します。
トラブルシューティング
よくある問題と解決方法
failed_multi_currencyエラーで決済が失敗する
問題: マルチ通貨決済リクエストがfailed_multi_currencyエラーを返します。
解決方法: このエラーは、アカウントでマルチ通貨が有効になっていないことを示しています。support@omise.coに連絡してこの機能を有効にしてください。マルチ通貨の利用規約を確認し、承諾する必要があります。
invalid_chargeエラーで決済が失敗する
問題: 通貨を指定すると、決済リクエストがinvalid_chargeエラーで失敗します。
解決方法: 指定した通貨は、アカウントの登録国ではサポートされていません。サポート通貨テーブルを確認して、アカウントの所在地で利用可能な通貨を確認してください。
顧客が予想より高い決済金額を報告する
問題: 顧客がチェックアウトページに表示された金額よりも多く請求されたと報告しています。
根本原因: カード会員の自国通貨とは異なる通貨で決済する場合、カード発行会社が独自の外国為替レートを適用します。この発行会社の為替レートは通常、Omiseの為替レートよりも高く、カード会員が明細書で異なる金額を見る可能性があります。
解決方法: - 銀行の為替レートにより最終金額がわずかに変動する可能性があることを顧客に事前に通知する - 可能な限り、顧客の現地通貨で決済して為替レートの差異を回避する - 高額取引の場合は、通貨換算による違いの可能性について免責事項を表示することを検討する
国際カードの承認失敗
問題: 特に米国、英国、カナダのカード会員からの国際カードの承認失敗率が高い。
解決方法: 支払いフォームにアドレス認証サービス(AVS)を実装してください。AVSは国際取引の承認成功率を大幅に向上させます。実装の詳細については、米国、英国、カナダのカード会員の承認率を向上させる方法を参照してください。
返金金額が元の決済と異なる
問題: 決済通貨での返金金額が、元の決済の入金金額と異なります。
説明: 返金は、元の決済レートではなく、返金作成時の為替レートを使用します。決済と返金の間に為替レートが変動した場合、入金金額は異なります。
注意: 顧客は元の決済通貨(支払った金額)で返金を受け取るため、この為替レートの差による影響は受けません。
よくある質問
一般的な質問
Q: マルチ通貨決済とは何ですか?
A: マルチ通貨決済により、アカウントの決済通貨とは異なる通貨で顧客に請求できます。たとえば、タイを拠点とする加盟店(THBで決済)は、USD、EUR、GBP、その他のサポートされている通貨で顧客に請求できます。Omiseが通貨換算を自動的に処理します。
Q: どの国がマルチ通貨をサポートしていますか?
A: マルチ通貨は現在、タイとシンガポールで登録されたアカウントで利用可能です。サポートはアカウントの所在地によって異なります。
Q: マルチ通貨を使用するには特別な承認が必要ですか?
A: はい。アカウントでマルチ通貨を有効にし、更新された利用規約を承諾するには、support@omise.coに連絡する必要があります。
Q: マルチ通貨は任意の決済方法で使用できますか?
A: いいえ。マルチ通貨はVisaおよびMastercardクレジットカード・デビットカードのみをサポートしています。インターネットバンキングなどの代替決済方法はサポートされていません。
通貨と為替レート
Q: 為替レートはどのように決定されますか?
A: Omiseは、請求通貨を決済通貨に換算する際に、1日の中間市場レートの約2〜4%上の為替レートを適用します。現在のレートは外国為替APIを使用して確認できます。
Q: なぜ顧客のカード明細書に異なる金額が表示されるのですか?
A: 顧客の自国通貨とは異なる通貨で決済する場合、カード発行会社が独自の為替レートを適用して決済を換算します。発行会社のレートは通常、Omiseのレートとは異なり(多くの場合高く)、チェックアウト時に表示された金額と明細書上の金額に差異が生じる可能性があります。この為替レートはカード発行会社が設定するものであり、Omiseによるものではありません。
Q: 為替レートの差はどのくらい変動しますか?
A: 高額取引では、Omiseのレートとカード発行会社のレートの差により、2,000〜3,000 THB以上の違いが生じる可能性があります。混乱を最小限に抑えるため、可能な限り顧客の現地通貨で決済することをお勧めします。
Q: 特定期間の為替レートを固定できますか?
A: いいえ。為替レートは動的であり、取引時に決定されます。承認と決済の間にレートが変更される可能性があります。
Q: 返金にはどの為替レートが使用されますか?
A: 返金は、元の決済レートではなく、返金作成時の為替レートを使用します。顧客は元の決済通貨で返金を受け取ります。
手数料と決済
Q: マルチ通貨決済には追加の手数料がかかりますか?
A: 標準の取引手数料が適用されます。為替レートにはOmiseの通貨換算マージン(中間市場レートの約2〜4%上)が含まれています。決済オブジェクトのtransaction_feesフィールドで取引手数料を確認してください。
Q: 決済ではどの通貨を受け取りますか?
A: アカウントの入金通貨(決済通貨)で常に決済を受け取ります。たとえば、アカウントがタイで登録されている場合、決済通貨に関係なくTHBを受け取ります。
Q: 決済を作成する前に換算後の金額を知るにはどうすればよいですか?
A: 外国為替APIを使用して現在の為替レートを確認してください。決済金額にこのレートを掛けて、入金金額を見積もります。確認と実際の決済の間にレートがわずかに変更される可能性があることに注意してください。
Q: マルチ通貨の決済の最小金額と最大金額はいくらですか?
A: 最小金額と最大金額は、アカウント入金通貨で設定されます。マルチ通貨決済の実効的な上限は、現在の為替レートに応じて変動します。たとえば、最小金額が20 THBで、USDで決済する場合、最小USD金額はTHB/USD為替レートに基づいて変動します。
技術的な実装
Q: マルチ通貨決済を作成するにはどうすればよいですか?
A: 通常どおりに決済を作成しますが、決済通貨とは異なるcurrencyパラメータを指定します。詳細な手順については、実装セクションを参照してください。
Q: テストモードでマルチ通貨をテストできますか?
A: はい。マルチ通貨はテストモードで機能します。トークンAPIに記載されているテストカード番号とAPIキーを使用してください。
Q: 決済オブジェクトのどのフィールドに通貨情報が表示されますか?
A: 主なフィールドは次のとおりです:
- currency: 決済が作成された通貨(提示通貨)
- funding_currency: アカウントの決済通貨
- amount: 提示通貨での決済金額
- funding_amount: 決済通貨への換算金額
Q: マルチ通貨のためにチェックアウトフォームを変更する必要がありますか?
A: Omise.jsスクリプトでdata-currencyパラメータを指定するだけです。残りの実装は同じままです。
国際カード
Q: マルチ通貨と国際カードの違いは何ですか?
A: マルチ通貨とは、異なる通貨での決済を指します(例:タイのアカウントでUSDで決済)。国際カードとは、加盟店アカウントとは異なる国で発行されたカードを指します。これらは異なる概念ですが、実際には両方が同時に発生することがよくあります。
Q: なぜ国際カードの承認が失敗することが多いのですか?
A: 国際取引は、カード発行会社からの追加の検証要件に直面します。請求先住所情報が欠落または不正確なために失敗が発生することが多くあります。
Q: AVSとは何ですか、なぜマルチ通貨にとって重要ですか?
A: アドレス認証サービス(AVS)は、カード会員の請求先住所を発行銀行で検証します。国際カード(特に米国、英国、カナダのカード)の場合、AVSは承認成功率を大幅に向上させます。マルチ通貨決済を受け入れている場合、国際カードも処理している可能性が高いため、AVSを実装する必要があります。
Q: 顧客に外貨取引手数料が請求されますか?
A: 可能性があります。顧客の自国通貨で決済する場合でも、加盟店アカウントが別の国にある場合、カード発行会社が外貨取引手数料を適用する場合があります。これは、Omiseではなく、カード発行会社のポリシーによって決定されます。
返金と紛争
Q: マルチ通貨決済を返金するにはどうすればよいですか?
A: 返金APIまたはダッシュボードを使用して返金を作成します。元の決済通貨で金額を指定します。返金は、顧客が元々請求された通貨と同じ通貨で処理されます。
Q: マルチ通貨決済の一部返金はできますか?
A: はい。一部返金は標準決済と同じように機能します。元の決済通貨で返金したい金額を指定します。
Q: 決済と返金の間に為替レートが変更された場合はどうなりますか?
A: 顧客は元の決済通貨で返金を受け取るため、為替レートの変更による影響は受けません。ただし、決済通貨への換算金額は、為替レートの変動により元の入金金額と異なる場合があります。
Q: マルチ通貨決済の紛争はどのように処理されますか?
A: 紛争は元の決済通貨で処理されます。紛争に敗れた場合、引き落とされた金額は、紛争解決時の為替レートを使用して決済通貨に換算されます。