POST
/
api
/
v1
/
server-to-server-interface
/
subscription
/
payment
curl --request POST \
  --url https://api-dev.paymentoptions.com/api/v1/api/v1/server-to-server-interface/subscription/payment \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '{
  "amount": "1000",
  "currency": "JPY",
  "card": {
    "cvc": "112",
    "expiry_month": "12",
    "expiry_year": "24",
    "name": "John Doe",
    "number": "4000000000001091"
  },
  "payment_method": {
    "type": "scheme",
    "store_payment_method": false
  },
  "merchant_txn_ref": "qwe",
  "customer_ip": "127.0.0.1",
  "merchant_id": "< Merchant ID >",
  "return_url": {
    "webhook_url": "< Webhook url >",
    "success_url": "http://www.successurl.com/",
    "decline_url": "http://www.declineurl.com/"
  },
  "billing_address": {
    "country": "JP",
    "email": "billing@testemail.com",
    "phone_number": "8112345678",
    "address1": "1-2-3 Shinjuku",
    "city": "Shinjuku-ku",
    "state": "Tokyo",
    "postal_code": "1600022"
  },
  "shipping_address": {
    "country": "JP",
    "email": "billing@testemail.com",
    "phone_number": "8112345678",
    "address1": "1-2-3 Shinjuku",
    "city": "Shinjuku-ku",
    "state": "Tokyo",
    "postal_code": "1600022"
  },
  "time_zone": "Asia/Kuala_Lumpur",
  "subscription": {
    "plan_name": "Three weeks plan",
    "plan_desc": "Billed every two days",
    "cycle_type": "DAYS",
    "subscription_end_type": "CYCLE",
    "cycle_interval": 2,
    "max_cycle_count": 10,
    "has_trial_period": false,
    "trial_period_duration_type": "DAYS",
    "trial_period_duration": 14,
    "has_discount": true,
    "discount_percentage": 10,
    "discount_duration": 2
  }
}'
{
  "success": true,
  "status_code": 201,
  "is_live": false,
  "transaction_type": "CAPTURE",
  "gateway_response": {
    "version": "1",
    "type": "INFO",
    "message": "Payment Successful.",
    "code": "INFO0000"
  },
  "merchant_details": {
    "legal_name": "Beck's Coffee Shop Pvt. Ltd.",
    "mid": "JP00000472",
    "merchant_txn_ref": "qwe",
    "billing_details": {
      "billing_address": {
        "country": "JP",
        "email": "billing@testemail.com",
        "phone_number": "8112345678",
        "address1": "1-2-3 Shinjuku",
        "city": "Shinjuku-ku",
        "state": "Tokyo",
        "postal_code": "1600022"
      },
      "shipping_address": {
        "country": "JP",
        "email": "billing@testemail.com",
        "phone_number": "8112345678",
        "address1": "1-2-3 Shinjuku",
        "city": "Shinjuku-ku",
        "state": "Tokyo",
        "postal_code": "1600022"
      }
    },
    "device_details": {
      "visited_ip": "127.0.0.1",
      "customer_ip": "127.0.0.1"
    }
  },
  "payment_details": {
    "amount": 900,
    "response_code": 0,
    "auth_code": "175438",
    "currency": "JPY",
    "payment_method": "VISA_DEBIT-SSL",
    "scheme": "VISA",
    "card": {
      "name": "John Doe",
      "number": "4000000000001091",
      "exp_month": "12",
      "exp_year": "24"
    },
    "additional_data": {
      "payment_data_source": {
        "type": "card"
      }
    }
  },
  "transaction_details": {
    "id": "359f39bd-673a-47b3-b9ec-cbd6cd313b8e",
    "ref": 74860,
    "timestamp": "2024-11-26T01:31:29.000Z",
    "merchant_txn_ref": "qwe",
    "stored_payment_method_id": null
  },
  "risk-details": {
    "risk_score": null
  },
  "subscription_details": {
    "id": "664dc930-88bd-4696-8807-5e0f1fedba0b",
    "type": "CYCLE",
    "max_cycle_count": 10,
    "status": "ACTIVE",
    "completed_payment_cycle": 1,
    "next_payment_date": "2024-11-28T01:31:29.154Z",
    "next_payment_cycle": 2,
    "subscription_plan_details": {
      "name": "Three weeks plan",
      "desc": "Billed every two days",
      "billing_cycle_type": "DAYS",
      "billing_cycle_interval": 2,
      "amount": 1000,
      "ccy": "JPY",
      "trial_period_duration": "",
      "trial_period_duration_type": "NONE",
      "plan_discount_percentage": 10,
      "plan_discount_duration": 2
    }
  }
}

サブスクリプション作成のリクエスト例

"subscription": {
        "plan_name": "<string>",
        "plan_desc": "<string>",
        "cycle_type": "<DAYS/MONTHS>",
        "subscription_end_type": "CYCLE",
        "cycle_interval": <int>,
        "max_cycle_count": <int>,
        "has_trial_period": <boolean>,
        "trial_period_duration_type": "DAYS",
        "trial_period_duration": <int>,
        "has_discount": <boolean>,
        "discount_percentage": <int>,
        "discount_duration": <int>
    }

重要なポイント

サブスクリプション作成

  • このAPIは、サブスクリプションプランの設定を可能にし、自動的な定期支払いを提供します。さまざまな請求サイクルや割引、試用期間などの柔軟な設定をサポートしています。

サブスクリプション設定

  • 加盟店は、カスタムプランを定義できます。これには、プラン名と説明が含まれます。

  • サイクルタイプ:請求は日、週、月などに基づいて行えます。

  • サイクル間隔:請求の頻度を定義します(例:2日ごと、毎月)。

  • 最大サイクル数:請求サイクルの最大数を設定します。

  • 試用期間:サブスクリプション開始前に試用期間を提供するオプション。

  • 割引:定められた請求サイクル数に対して割引を適用する機能。

フローダイアグラム

APIパラメータ

Authorizations

Authorization
string
header
required

認証用のAPIキー。フォーマット:「Basic YOUR_API_KEY_HERE」

x-api-key
string
header
required

x-api-key専用のAPIキー。

Body

application/json
サブスクリプション支払いを処理するためのペイロード。
amount
string
required

取引金額。

Maximum length: 15
Example:

"1000"

currency
string
required

取引のISO通貨コード(例:JPY)。

Maximum length: 3
Example:

"JPY"

card
object
required

支払いに使用するカードの詳細。

payment_method
object
required

決済方法の詳細。

merchant_id
string
required

加盟店の一意識別子。

Maximum length: 128
Example:

"< Merchant ID >"

billing_address
object
required

カード所有者の請求先住所の詳細。

subscription
object
required

処理されるサブスクリプションの詳細。

merchant_txn_ref
string

一意の決済取引参照ID。

Maximum length: 45
Example:

"qwe"

customer_ip
string

取引を開始した顧客のIPアドレス。

Maximum length: 45
Example:

"127.0.0.1"

return_url
object

リターンURLを含むJSONオブジェクト。(3DS取引では必須)

shipping_address
object

カード所有者の配送先住所の詳細。

time_zone
string

取引のタイムゾーン。

Maximum length: 128
Example:

"Asia/Kuala_Lumpur"

Response

201 - application/json
サブスクリプション支払いが正常に処理されました。
success
boolean

取引が成功したかどうかを示します。

Example:

true

status_code
integer

取引のHTTPステータスコード。

Example:

201

is_live
boolean

取引が本番環境のものかテスト環境のものかを示します。

Example:

false

transaction_type
string

実行された取引の種類(例:CAPTURE)。

Example:

"CAPTURE"

gateway_response
object

決済ゲートウェイからの応答。

merchant_details
object

加盟店に関する詳細情報。

payment_details
object

決済取引の詳細。

transaction_details
object

取引の詳細。

risk-details
object

リスク評価の詳細。

subscription_details
object

サブスクリプションの詳細。