返金を行う
Smartpay は、加盟店様からの返金リクエストに対してのみ返金を行います。返金リクエストは Smartpay のダッシュボードで、または返金 API 呼び出しにより行えます。
Smartpay のダッシュボードで
1. 返金する注文を検索する
Smartpay のダッシュボードにログインすると、注文の一覧が表示されます。注文 ID
、reference で指定した値
、お客様名
、またはお客様のメールアドレス
で特定の注文を検索できます。
該当する注文が見つかったら、それをクリックすると注文の詳細ページが表示されます。
2. 返金する
注文の詳細ページで返金する
をクリックします。
返金する金額と説明(任意)を入力し、返金する
をクリックします。
Smartpay API を使用する
1. 返金する注文を取得する
返金する注文の orderId
を使って、Smartpay API を使って注文オブジェクトを取得します。
curl --request GET \
--url 'https://api.smartpay.co/v1/orders/order_test_bA1znhGULw5lROfDTpHChv?expand=no' \
--header 'Accept: application/json' \
--header 'Authorization: Basic {secretKey}'
返されるオブジェクトには、payment
フィールドがあり、注文に対して作成された paymentId
が付与されています。返金するには、この paymentId
を取得する必要があります。
{
"id": "order_test_bA1znhGULw5lROfDTpHChv",
"object": "order",
"amount": 2100,
"createdAt": 1644978270631,
"currency": "JPY",
"discounts": [],
"expiresAt": 1645583167495,
"lineItems": [
"li_test_Lj1ofPS7HabmT3i0XsyB4V"
],
"metadata": {},
"payments": [
"payment_test_GDEATBKK8XAp9XGf6J4U4"
],
"shippingInfo": {
...
},
"status": "succeeded",
"test": true,
"updatedAt": 1644978437889
}
2. 返金する
注文の paymentId
を使って、Smartpay API で返金を作成します。
引数の全リストは、返金用 API エンドポイントの作成 を参照してください。以下の項目は入力が必須です。
- amount: 当該の支払い金額のうち返金する金額を示す正数です。返金できるのは、最大で支払い金額の未返金の金額までです。
- currency: 大文字3文字の ISO 通貨コードです。サポートされている通貨である必要があります。
- payment: 支払いオブジェクトの一意の識別子です。
- reason: 返金の理由です(
requested_by_customer
またはfraudulent
)。
curl --request POST \
--url https://api.smartpay.co/v1/refunds \
--header 'Accept: application/json' \
--header 'Authorization: Basic {secretKey}' \
--header 'Content-Type: application/json' \
--data '
{
"amount": 1000,
"currency": "JPY",
"description": "Customer return",
"lineItems": [],
"payment": "payment_test_GDEATBKK8XAp9XGf6J4U4",
"reason": "requested_by_customer",
"reference": "my_merchant_refund_reference"
}
'
$api = new \Smartpay\Api(getenv('SECRET_KEY'), getenv('PUBLIC_KEY'));
$payment = $api->createRefund([
'amount' => 1500,
'currency' => 'JPY',
'description' => 'Description for my Smartpay refund',
'lineItems' => [],
'payment' => 'payment_test_GDEATBKK8XAp9XGf6J4U4',
'reason' => 'requested_by_customer',
'reference' => 'my_merchant_refund_reference'
]);
Smartpay.configure do |config|
config.public_key = ENV['PUBLIC_KEY']
config.secret_key = ENV['SECRET_KEY']
end
payment = Smartpay::Api.create_refund({
amount: 1500,
currency: 'JPY',
description: 'Description for my Smartpay refund',
lineItems: [],
payment: 'payment_test_GDEATBKK8XAp9XGf6J4U4',
reason: 'requested_by_customer',
reference: 'my_merchant_refund_reference',
})
SECRET_KEY = os.environ.get('SECRET_KEY', '<YOUR_SECRET_KEY>')
PUBLIC_KEY = os.environ.get('PUBLIC_KEY', '<YOUR_PUBLIC_KEY>')
smartpay = Smartpay(SECRET_KEY, public_key=PUBLIC_KEY)
payment = smartpay.create_refund(
payment="payment_test_GDEATBKK8XAp9XGf6J4U4",
amount=1500,
currency="JPY",
reference="my_merchant_refund_reference",
reason="requested_by_customer",
description="Description for my Smartpay refund"
):
Updated 6 months ago