クレジットカードOnboarding
はじめに
APIリクエストはアクセストークンを使用して認証されます。有効なアクセストークンを含まないリクエストはすべてエラーを返します。詳しくは認証をご覧ください。
ベースURL
- UAT:
https://transactions.transactional.uat.unico.app/api/public/v1 - 本番:
https://transactions.transactional.unico.app/api/public/v1
重要
クレジットカードOnboardingは、エンドユーザーにセルフィーをリクエストして完全な登録を行う方法、またはUnico IDCloudプラットフォームの他の製品によって実行されたプロセスの生体キャプチャを再利用する方法のいずれかで実行できます。
- 他のIDCloud製品によって生成されたプロセスを再利用するには、
additionalInfo.processIDに参照プロセスIDを指定してください。 - 使用する参照プロセスは、完了から1時間以内のものである必要があります。
クレジットカードの検証
POST /walletid/transaction — クレジットカードを検証します。
ヘッダー
| ヘッダー | 値 |
|---|---|
Authorization | Bearer {token} — 有効なアクセストークン。 |
ボディ
{
"identity": { "key": "cpf", "value": "12345678900" },
"orderNumber": "onboarding-98765",
"company": "company-id",
"redirectUrl": "https://yourapp.com/wallet/return",
"card": {
"binDigits": "12345678",
"lastDigits": "1234",
"expirationDate": "12/2028",
"name": "John Doe"
},
"value": 5000.00,
"additionalInfo": {
"externalUserID": "YOUR_EXTERNAL_USER_ID"
}
}
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
identity | object | yes | ユーザーの本人確認情報。 |
identity.key | string | yes | ユーザー識別キーのタイプ。 |
identity.value | string | yes | ユーザー識別キーの値。 |
orderNumber | string | yes | オンボーディングに関連付けられた番号。ポータル内のインデックスとして、また貴社のシステムとカード非提示認証間の外部キーとして使用されます。 |
company | string | yes | Unicoから提供される、取引を担当する会社のID。 |
redirectUrl | string | no | 取引完了後にユーザーをリダイレクトするURL(WebではHTTPSのURL、ネイティブモバイルアプリではSchema URL)。 |
card | object | yes | 取引で使用されるカード情報。 |
card.binDigits | string | yes | カードの最初の8桁。 |
card.lastDigits | string | yes | カードの下4桁。 |
card.expirationDate | string | no | カードの有効期限。 |
card.name | string | yes | カード名義人の氏名 — エンコーディングの問題や承認の問題を避けるため、正しいことを確認してください。 |
value | number | no | 保証される最大金額。 |
additionalInfo | object | no | 他のUnico IDCloudプラットフォーム製品の生体キャプチャを再利用する場合はprocessIDを、この取引に対してサイレント認証を有効にする場合はexternalUserIDを含めてこのオブジェクトを送信してください。 |
additionalInfo.processID | string | no | IDCloudプラットフォームの参照プロセスID。 |
additionalInfo.externalUserID | string | no | デバイスメタデータ収集時にSDKのexternalUserIdで設定したものと同じ識別子。サイレント検証をトリガーする場合にのみ必須です — これがない場合、取引は通常どおり作成されますが、常に標準のビジュアルフローに従います。 |
危険
orderNumberフィールドには、そのeコマースシステムにおける購入の一意の注文番号を入力する必要があります — 別の取引IDを使用するのは誤りであり、値の使い回しはreplicated transactionエラーを引き起こす可能性があります。
200 OK
{
"id": "6ab1771e-dfab-4e47-8316-2452268e5481",
"status": "processing",
"link": "https://developers/regional-solutions/card-not-present-verification.unico.app/t/6ab1771e-dfab-4e47-8316-2452268e5481",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
| フィールド | 説明 |
|---|---|
id | 作成された取引のID。 |
status | 取引の現在のステータス。 |
link | 取引に関連するリンク。additionalInfo.processIDが提供されていない場合のみ返されます。 |
token | カード非提示認証 Web SDKを初期化するための署名済みトークン。additionalInfo.processIDが提供されていない場合のみ返されます。 |
メモ
additionalInfo.externalUserIDが送信され、取引がサイレントに承認された場合、レスポンスにもキャプチャリンクは含まれません:
{
"id": "6ab1771e-dfab-4e47-8316-2452268e5481",
"status": "approved"
}
SDKのセットアップやタイミング要件を含む完全なフローについては、サイレント認証を参照してください。
検証ステータスの確認
GET /walletid/transactions/{transaction_id} — 特定の取引 の現在のステータスを確認します。
ヘッダー
| ヘッダー | 値 |
|---|---|
Authorization | Bearer {token} — 有効なアクセストークン。 |
200 OK
{
"status": "processing",
"hasIdentityChanged": false
}
| フィールド | 説明 |
|---|---|
status | 取引の現在のステータス。 |
hasIdentityChanged | オプション。取引で本人確認情報の入れ替えが発生したかどうか。 |
考えられるすべてのステータスについては、列挙値をご覧ください。パフォーマンスを最適化するため、このエンドポイントをポーリングする代わりにWebhookを実装してください。
エラーレスポンスについては、エラー — クレジットカードOnboardingをご覧ください。