トランザクショントークン: Create
このリクエストでは、課金や定期課金に必要なトランザクショントークンを作成することができます。
このルートではアプリケーショントークンのシークレットは必須です。アプリトークンと合わせて指定してください。選択する支払い手段によって必要な情報が異なります。
トランザクショントークンを作成した後はトランザクショントークンIDを指定して課金・定期課金を行ってください。
※クレジットカード情報の送信を伴う処理について
クレジットカード情報を加盟店サイト内に入力させ、当サービスの APIに送信する場合は、カード情報の「通過」にあたるため、加盟店サイトがPCI DSSに準拠することが必要になります。
Request
POST https://api.univapay.com/tokens
Parameters:
Parameters | |
payment_type | string [必須] 支払い手段を参照 |
type | string トークンの種類を参照。特定の支払い手段により、種類が制限される場合があります。 繰り返しに設定されていて、アカウントに無限に課金可能なトークンを作成する権限がない場合は、 usage_limit パラメーターを指定する必要があります。 |
usage_limit | string このトークンがリカーリングトークンの場合に使用できる頻度。 無限に課金可能なリカーリングトークンを作成する権限がある場合、これは空白のままにすることができます。 |
string [必須] メールアドレス ※オンライン決済は任意 | |
ip_address | string ユーザーのデバイスのIPv4アドレス 以下の決済先では、このパラメータが必須 – we_chat_online (web , http_get ) |
metadata | object メタデータを参照 |
metadata.univapay-reference-id | string (フリーフォーマット) 任意の値 |
metadata.univapay-customer-id | string (UUID) 顧客ID |
data | object [必須] 支払い手段ごとに必要な情報が異なりますので、下記記載箇所よりそれぞれ詳細のパラメータをご確認ください card : カードデータ, apple_pay : Apple payデータ, qr_scan : QRスキャンデータ, konbini: コンビニ払いデータ, online : オンライン払いデータ |
カードデータ
Parameters | |
data.cardholder | string [必須] クレジットカードの所有者の名前 |
data.card_number | string [必須] カード番号 |
data.exp_month | string [必須] 有効期限(月) |
data.exp_year | string [必須] 有効期限(年) |
data.cvv | string [必須] CVV値 |
data.line1 | string 住所1 |
data.line2 | string 住所2 |
data.state | string 住所の州/地域/都道府県 |
data.city | string 住所の市町村区 |
data.country | string 国 (ISO 3166-1形式のアルファベット2文字の国コード) |
data.zip | string 郵便番号 |
data.phone_number.country_code | string 電話番号の国コード |
data.phone_number.local_number | string 電話番号 |
cvv_authorize.enabled | boolean セキュリティコード認証機能が有効かどうか。デフォルトはfalse |
cvv_authorize.currency | string (ISO-4217) 認証を行う通貨。デフォルトは加盟店の基本通貨 |
Apple Payデータ
Parameters | |
data.applepay_token | string [必須] Apple Payトークン |
data.cardholder | string [必須] カード所有者の名前 |
data.line1 | string 住所1 |
data.line2 | string 住所2 |
data.state | string 住所の州/地域/都道府県 |
data.city | string 住所の市町村区 |
data.country | string 国 (ISO 3166-1形式のアルファベット2文字の国コード) |
data.zip | string 郵便番号 |
data.phone_number.country_code | string 電話番号の国コード |
data.phone_number.local_number | string 電話番号 |
QR CPM データ
Parameters | |
data.scanned_qr | string [必須] ユーザーのウォレットアプリからスキャンしたQRコード |
QR MPM データ
MPM方式で課金を行う場合は課金の際にQRコードコンテンツを取得するためのリクエストを送る必要があります。詳しくはこちらをご覧ください。
Parameters | |
data.brand | string [必須] 使用する決済ブランドです。有効な値は以下の通りです: – alipay_merchant_qr Alipay China– pay_pay_merchant Pay Pay– we_chat_ mpm WeChat Pay |
コンビニ払いデータ
Parameters | |
data.customer_name | string [必須] ユーザー名 |
data.phone_number.country_code | string [必須] 電話番号の国コード。日本の番号のみ可能 |
data.phone_number.local_number | string [必須] ユーザーの電話番号 |
data.convenience_store | string [必須] ユーザーが支払いを選択したコンビニエンスストア。利用可能な値は、 seven_eleven , family_mart , lawson , mini_stop , seico_mart , pay_easy , circle_k , sunkus , daily_yamazaki , yamazaki_daily_store |
data.expiration_period | string (ISO-8601 Duration) 支払いの有効期限。 作成日から最短30分、最大60日間、提供されていない場合はデフォルトで30日間。例: P7D ※課金:Createで支払い期限日時を指定した場合はそちらを優先します。 |
data.expiration_time_shift | string (ISO-8601 Time with Timezone) expiration_periodを考慮した上で設定する時間です。 例:expiration_periodを追加した後の有効期限が2023-06-01T15:00:00+09:00の場合、expiration_time_shiftを09:00:00+09:00と設定すると、有効期限は2023-06-01T09:00+09:00と設定されます。 このフィールドが設定されている場合、expiration_periodは1日以上でなければなりません。 コンビニ決済の場合のみ利用可能です。 ※「セブンイレブン」「セイコーマート/他支払(サークルK/サンクス/ペイジー)」は時刻指定が利用できないため、このパラメータは無視されます。 |
オンライン払いデータ
オンライン払いを選択した場合、課金を作成後、QR事業者側の支払い画面を呼び出すためのURLが必要になるため、イシュアトークンを取得するリクエストを別途送る必要があります。詳しくはこちらをご覧ください。
Parameters | |
data.brand | string [必須] 使用する支払いゲートウェイ。 有効な値は - Alipay China- alipay_plus_online Alipay+ Pay Pay WeChat Pay– d_barai_online d払い |
data.call_method | string [必須] クライアントが要求した実行方法です。 http_get , http_post , sdk , web , app のいずれかです。– sdk は、ペイメントプロバイダーが提供するSDKで直接使用することを意味します。– web とは、特定のAPIを拡張した特殊なブラウザ環境で直接使用することを指します。– app とは、ペイメントプロバイダーが提供するSDKのネイティブアプリ環境での利用を指します。– http_get またはhttp_post を使用すると、issuer_token を新しいブラウザウィンドウまたは適切な対応するHTTPメソッドのiframe内で直接実行することができます。以下のブランドでは、以下の呼び出し方法に対応しています。 – alipay_online: http_get , sdk (miniapp), app – alipay_plus_online: http_get , http_get_mobile , sdk (miniapp), app – pay_pay_online: http_post – we_chat_online: http_get (H5), sdk (miniapp), app (in-app), web (official account)– d_barai_online: http_post |
data.user_identifier | string [条件付き] 通常、ペイメントゲートウェイアプリケーションによって提供される、ユーザーデバイスを一意に識別することができるユーザー固有の識別子。これは、不正行為を防止するために、一部の決済事業者が要求しているものです。 これらのコールメソッドの以下のブランドでは、ユーザー識別子の提供が必要です。 – we_chat_online : sdk (miniapp), web (official account) |
data.os_type | string [条件付き] 使っているモバイルデバイスのOSです。有効な値は – android – ios これらのコールメソッドの以下のブランドでは、提供が必要です。 – alipay_plus_online : http_get_mobile , app |
銀行振込支払データ
Parameters | |
data.brand | string [必須] 使用する支払いゲートウェイ。 有効な値: - aozora_bank GMOあおぞらネット銀行 |
data.match_amount | string 送金額に対するマッチングのアルゴリズムです。お客様のストア/マーチャント設定より優先されます。 以下のいずれかの値: – disabled : 送金額のマッチングを無効にする– exact : 送金された金額が一致する必要があります– exact : 送金額が一致しない場合は、銀行により送金が拒否されます– minimum : 送金額は、送金依頼額以上でなければなりません。そうでない場合、送金は銀行によって拒否されます– maximum : 送金額は依頼額以下でなければならず、そうでない場合は銀行によって送金が拒否されます |
Headers:
Authorization: Bearer {secret}.{jwt}
Content-Type: application/json
Body:
curl --request POST
--url https://api.univapay.com/tokens
--header 'Authorization: Bearer {secret}.{jwt}
'
--header 'Content-type: application/json'
--data "{
"payment_type": "card",
"type":"recurring",
"email": "taro.momo@univapay.com",
"data": {
"cardholder": "TARO MOMO",
"card_number": "4916741415383284",
"exp_month": "12",
"exp_year": "2018",
"cvv": "999",
"line1": "123 abc st",
"line2": "apt 123",
"state": "OR",
"city": "Portland",
"country": "US",
"zip": "12345",
"phone_number": {
"country_code": "1",
"local_number": "8029854583"
},
"cvv_authorize": {
"enabled": true,
"currency": "JPY"
}
}
}"
Response
Code: 201
Headers:
Content-Type: application/json
Body:
{
"id": "1c94ed2e-1841-11e7-a481-a393b47973f4",
"store_id": "af857264-180c-11e7-9be2-276aea4fed28",
"email": "taro.momo@univapay.com",
"payment_type": "card",
"mode": "test",
"type": "one_time",
"metadata": {},
"created_on": 1491205358955,
"last_used_on": null,
"data": {
"card": {
"cardholder": "TARO MOMO",
"exp_month": 12,
"exp_year": 2018,
"last_four": "3284",
"brand": "visa",
"country": "BR",
"category": "classic",
"issuer": "BANCO SANTANDER BRASIL, S.A.",
"sub_brand": "none"
},
"billing": {
"line1": "123 abc st",
"line2": "apt 123",
"state": "OR",
"city": "Portland",
"country": "US",
"zip": "12345",
"phone_number": {
"country_code": 1,
"local_number": "8029854583"
}
},
"cvv_authorize": {
"enabled": true,
"status": "current",
"currency": "JPY",
"charge_id": "8fb15bae-119b-4e57-8504-ae7230c68139",
"credentials_id": "e093d719-0c07-4597-b14b-c4a504832aca"
}
}
}