Refunds
Omise APIまたはダッシュボードを通じて、お客様への全額または一部返金を迅速かつ簡単に発行できます。
概要
Omiseでは、ほとんどの決済方法で行われた支払いを返金することができます。返金は、使用した決済方法に応じて、全額(全体の金額)または一部(金額の一部)が可能です。
主な機能:
- 即時返金処理
- 全額および一部返金のサポート(サポートされている方法の場合)
- 最大365日間の返金ウィンドウ
- 自動決済控除
- Webhook通知
サポートされている決済方法
全額および一部返金のサポート
- ✅ Credit/Debit Cards - 全額および一部(charge当たり最大15回の一部返金)
- ✅ DuitNow - 180日以内の全額および一部
- ✅ PayNow - 6ヶ月以内の全額および一部
- ✅ GrabPay - 3ヶ月以内の全額および一部
- ✅ ShopeePay - 180日以 内の全額および一部
全額返金のみ
- ⚠️ Installments - 全額返金のみ(ウィンドウは銀行により異なる: 30日から1年)
- ⚠️ TrueMoney - 30日以内の全額返金のみ
返金サポートなし
- ❌ PromptPay - 返金不可
- ❌ Mobile Banking(タイ) - 返金不可
- ❌ Internet Banking(タイ) - 返金不可
- ❌ Konbini/Pay-easy(日本) - 返金不可
- ❌ Online Direct Debit - 返金不可
決済方法のドキュメントを確認
実装前に、必ず特定の決済方法の返金ポリシーを確認してください。返金 サポートとウィンドウは大きく異なります。
返金の仕組み
返金の作成
全額返金
- cURL
- Node.js
- PHP
- Python
curl https://api.omise.co/charges/chrg_test_5rt6s9vah5lkvi1rh9c/refunds \
-u skey_test_YOUR_SECRET_KEY: \
-d "amount=10025"
const omise = require('omise')({
secretKey: 'skey_test_YOUR_SECRET_KEY'
});
// Full refund
const refund = await omise.charges.refund('chrg_test_...', {
amount: 10025
});
console.log(refund.status); // 'pending'
<?php
$charge = OmiseCharge::retrieve('chrg_test_5rt6s9vah5lkvi1rh9c');
$refund = $charge->refund(array(
'amount' => 10025
));
echo $refund['status']; // 'pending'
?>
import omise
omise.api_secret = 'skey_test_YOUR_SECRET_KEY'
charge = omise.Charge.retrieve('chrg_test_5rt6s9vah5lkvi1rh9c')
refund = charge.refund(amount=10025)
print(refund.status) # 'pending'
一部返金
// chargeの一部を返金(例: THB 100.25のうちTHB 50)
const partialRefund = await omise.charges.refund('chrg_test_...', {
amount: 5000 // THB 50.00(最小単位)
});
// お客様はTHB 50を受け取る
// 加盟店はTHB 50.25を保持
複数の一部返金
// 最初の一部返金(THB 30)
await omise.charges.refund(chargeId, { amount: 3000 });
// 2番目の一部返金(THB 20)
await omise.charges.refund(chargeId, { amount: 2000 });
// 3番目の一部返金(THB 50)
await omise.charges.refund(chargeId, { amount: 5000 });
// 合計返金額: THB 100
// 最大: charge当たり15回の一部返金