トランザクショントークン: Create

このリクエストでは、課金や定期課金に必要なトランザクショントークンを作成することができます。
このルートではアプリケーショントークンのシークレットは必須です。アプリトークンと合わせて指定してください。選択する支払い手段によって必要な情報が異なります。

トランザクショントークンを作成した後はトランザクショントークンIDを指定して課金定期課金を行ってください。

※クレジットカード情報の送信を伴う処理について
クレジットカード情報を加盟店サイト内に入力させ、当サービスの APIに送信する場合は、カード情報の「通過」にあたるため、加盟店サイトがPCI DSSに準拠することが必要になります。

Request

POST https://api.univapay.com/tokens

Parameters:

Parameters
payment_typestring [必須]
支払い手段を参照
typestring
トークンの種類を参照。特定の支払い手段により、種類が制限される場合があります。 繰り返しに設定されていて、アカウントに無限に課金可能なトークンを作成する権限がない場合は、usage_limitパラメーターを指定する必要があります。
usage_limitstring
このトークンがリカーリングトークンの場合に使用できる頻度。 無限に課金可能なリカーリングトークンを作成する権限がある場合、これは空白のままにすることができます。
emailstring [必須]
メールアドレス
※オンライン決済は任意
ip_addressstring
ユーザーのデバイスのIPv4アドレス

以下の決済先では、このパラメータが必須
we_chat_online (web, http_get)
metadataobject
メタデータを参照
metadata.univapay-reference-idstring (フリーフォーマット)
任意の値
metadata.univapay-customer-idstring (UUID)
顧客ID
dataobject [必須]
支払い手段ごとに必要な情報が異なりますので、下記記載箇所よりそれぞれ詳細のパラメータをご確認ください
card: カードデータ, apple_pay: Apple payデータ, qr_scan: QRスキャンデータ, konbini: コンビニ払いデータ, online: オンライン払いデータ

カードデータ

Parameters
data.cardholderstring [必須]
クレジットカードの所有者の名前
data.card_numberstring [必須]
カード番号
data.exp_monthstring [必須]
有効期限(月)
data.exp_yearstring [必須]
有効期限(年)
data.cvvstring [必須]
CVV値
data.line1string
住所1
data.line2string
住所2
data.statestring
住所の州/地域/都道府県
data.citystring
住所の市町村区
data.countrystring
国 (ISO 3166-1形式のアルファベット2文字の国コード)
data.zipstring
郵便番号
data.phone_number.country_codestring
電話番号の国コード
data.phone_number.local_numberstring
電話番号
cvv_authorize.enabledboolean
セキュリティコード認証機能が有効かどうか。デフォルトはfalse
cvv_authorize.currencystring (ISO-4217)
認証を行う通貨。デフォルトは加盟店の基本通貨

Apple Payデータ

Parameters
data.applepay_tokenstring [必須]
Apple Payトークン
data.cardholderstring [必須]
カード所有者の名前
data.line1string
住所1
data.line2string
住所2
data.statestring
住所の州/地域/都道府県
data.citystring
住所の市町村区
data.countrystring
国 (ISO 3166-1形式のアルファベット2文字の国コード)
data.zipstring
郵便番号
data.phone_number.country_codestring
電話番号の国コード
data.phone_number.local_numberstring
電話番号

QR CPM データ

Parameters
data.scanned_qrstring [必須]
ユーザーのウォレットアプリからスキャンしたQRコード

QR MPM データ

MPM方式で課金を行う場合は課金の際にQRコードコンテンツを取得するためのリクエストを送る必要があります。詳しくはこちらをご覧ください。

Parameters
data.brandstring [必須]
使用する決済ブランドです。有効な値は以下の通りです:
alipay_merchant_qr Alipay China
pay_pay_merchant Pay Pay
we_chat_mpm WeChat Pay

コンビニ払いデータ

Parameters
data.customer_namestring [必須]
ユーザー名
data.phone_number.country_codestring [必須]
電話番号の国コード。日本の番号のみ可能
data.phone_number.local_numberstring [必須]
ユーザーの電話番号
data.convenience_storestring [必須]
ユーザーが支払いを選択したコンビニエンスストア。利用可能な値は、
seven_eleven, family_mart, lawson, mini_stop, seico_mart, pay_easy, circle_k, sunkus, daily_yamazaki, yamazaki_daily_store
data.expiration_periodstring (ISO-8601 Duration)
支払いの有効期限。 作成日から最短30分、最大60日間、提供されていない場合はデフォルトで30日間。例:P7D
課金:Createで支払い期限日時を指定した場合はそちらを優先します。
data.expiration_time_shiftstring (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.brandstring [必須]
使用する支払いゲートウェイ。 有効な値は
- alipay_online Alipay China
- alipay_plus_online Alipay+
- pay_pay_online
Pay Pay
- we_chat_online
WeChat Pay
d_barai_online d払い
data.call_methodstring [必須]
クライアントが要求した実行方法です。

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_identifierstring [条件付き]
通常、ペイメントゲートウェイアプリケーションによって提供される、ユーザーデバイスを一意に識別することができるユーザー固有の識別子。これは、不正行為を防止するために、一部の決済事業者が要求しているものです。

これらのコールメソッドの以下のブランドでは、ユーザー識別子の提供が必要です。
we_chat_online: sdk (miniapp), web (official account)
data.os_typestring [条件付き]
使っているモバイルデバイスのOSです。有効な値は
android
ios

これらのコールメソッドの以下のブランドでは、提供が必要です。
alipay_plus_online: http_get_mobile, app

銀行振込支払データ

Parameters
data.brandstring [必須]
使用する支払いゲートウェイ。

有効な値:
- aozora_bank GMOあおぞらネット銀行
data.match_amountstring
送金額に対するマッチングのアルゴリズムです。お客様のストア/マーチャント設定より優先されます。

以下のいずれかの値:
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"
    }
  }
}