定期課金 – CREATE
定期課金オブジェクトのCREATEリクエストには以下が必要です。(括弧内は入力箇所)
パラメータを指定して様々な種類の定期課金が作成可能です。
- シークレット(Headerの
{secret}
部分) - アプリトークン(Headerの
{jwt}
部分)
リクエスト
CommandとHeader
curl --request POST \
--url https://api.univapay.com/subscriptions \
--header 'Authorization: Bearer {secret}.{jwt}' \
--header 'content-type: application/json' \
利用できるパラメータ
リクエストのbodyに含めることができるパラメータは以下です。
フィールド 赤字は必須 ※は条件付き必須 | データ型 | 備考 |
---|---|---|
transaction_token_id | string (UUID) | 定期課金有効のトランザクショントークンID |
amount | number | 課金額 |
currency | string (ISO-4217) | ISO-4217形式の通貨 |
initial_amount | number | 定期的な金額と異なる場合は初回に請求する金額 |
period※ | string | ※cyclical_periodを利用しない場合 定期課金が請求される頻度 daily , weekly , biweekly , monthly , quarterly , semiannually , annually のいずれかこのフィールドが入力されている場合cyclical_periodは利用不可 分割払いの場合は monthly を指定 |
cyclical_period※ | string (ISO-8601 Duration) | ※periodを利用しない場合 課金を行う詳細な頻度(1日間以上) 例:P3D,P2M,P2M等 このフィールドが入力されている場合 period は利用不可 |
schedule_settings.start_on | string (ISO-8601) | 以降のすべての支払いがで開始される日付(年月日形式 )時間は zone_id で宣言されたタイムゾーンの午前7時※に固定※毎日の定期課金 および 定期課金開始日が定期課金作成日の1日後な場合に限り午前9時 |
schedule_settings.zone_id | string (IANAタイムゾーン) | 定期課金が請求されるタイムゾーン 例:Asia/Tokyo |
schedule_settings.preserve_end_of_month | boolean | period がmonthly で指定されたstart_on の日付が月末日である場合、以降は月の最終日に料金を請求例: start_on が2018-06-30 の場合、次の請求はtrue の場合は2018-07-31 、false の場合は2018-07-30 |
schedule_settings.termination_mode | string | 定期課金の停止リクエストimmediate , on_next_payment のいずれかデフォルト値: immediate immediate :即座に停止または終了on_next_payment :次回課金日の直前に停止または終了 |
installment_plan.plan_type | string | installment_plan を指定した定期課金は全てクレジットカード会社による分割払いになり、revolving :リボ払いfixed_cycles :installment_plan.fixed_cycles で指定した回数の分割払いrevolving , fixed_cycles のいずれか |
installment_plan.fixed_cycles※ | number | ※plan_type がfixed_cycles の場合クレジットカード会社での分割払いの回数 指定可能な値:3,5,6,10,12,15,18,20,24 ※上記以外の回数はエラー |
first_charge_authorization_only | boolean | 初回決済時に行う処理true :オーソリ(仮売上)false :キャプチャ(実売上)デフォルト値: false |
first_charge_capture_after | string (ISO-8601 Duration) | first_charge_authorization_only がtrue の場合、自動でキャプチャを行う日指定可能な値:1,2,3,4,5,6 ※上記以外の回数はエラー 例:3日後を指定する場合は first_charge_capture_after:"P3D" |
subscription_plan.plan_type | string | 回数指定の定期課金を行う場合、fixed_cycles , fixed_cycle_amount のいずれか |
subscription_plan.fixed_cycles※ | number | ※subscription_plan.plan_type が fixed_cycles の場合定期課金を行う回数 |
subscription_plan.fixed_cycle_amount※ | number | ※subscription_plan.plan_type が fixed_cycle_amount の場合定期課金の1回当たりの支払い金額 |
schedule_settings.retry_interval | string (ISO-8601 Duration) | 定期課金の支払いが失敗したときにリトライを行う間隔 ※1日以上かつ定期課金のサイクルよりも短い必要あり 例:P5Dで失敗後5日毎にリトライ |
metadata | json | 定期課金に紐づけられたメタデータ |
Bodyの記述例
curl --request POST \
--url https://api.univapay.com/subscriptions \
--header 'Authorization: Bearer {secret}.{jwt}' \
--header 'content-type: application/json' \
--data '{
"transaction_token_id": "11ef32a7-3a71-8662-803f-1bc27702eeec",
"amount": 1250,
"currency": "USD",
"period": "daily",
"metadata":{
"ServiceId": 78435694
}
}'
レスポンス
下記はBodyの記述例でリクエストした場合の例です。
CodeとHeader
- Code:
201
- Header:
Content-Type: application/json
Body
{
"id": "11ef335e-9aa5-c54a-8313-7f9847da313a",
"store_id": "11edf541-c42d-653c-8c3d-dfe0a55f95c0",
"transaction_token_id": "11ef32a7-3a71-8662-803f-1bc27702eeec",
"amount": 1250,
"currency": "USD",
"amount_formatted": 12.50,
"initial_amount": null,
"initial_amount_formatted": null,
"subsequent_cycles_start": null,
"schedule_settings": {
"start_on": null,
"zone_id": "Asia/Tokyo",
"preserve_end_of_month": null,
"retry_interval": null,
"termination_mode": "immediate"
},
"only_direct_currency": false,
"first_charge_capture_after": null,
"first_charge_authorization_only": false,
"status": "unverified",
"metadata": {
"ServiceId": 78435694
},
"mode": "test",
"created_on": "2024-06-26T01:51:28.627023Z",
"period": "monthly",
"next_payment": {
"id": "11ef335e-9aad-7470-8314-03ee2f51b9cd",
"due_date": "2024-06-26",
"zone_id": "Asia/Tokyo",
"amount": 1250,
"currency": "USD",
"amount_formatted": 12.50,
"is_paid": false,
"is_last_payment": false,
"created_on": "2024-06-26T01:51:28.627023Z",
"updated_on": "2024-06-26T01:51:28.627023Z",
"retry_date": null
}
}