決済取引
はじめに
APIリクエストはアクセストークンを使用して認証されます。有効なアクセストークンを含まないリクエストはすべてエラーを返します。詳しくは認証をご覧ください。
- UAT:
https://transactions.transactional.uat.unico.app/api/public/v1 - 本番:
https://transactions.transactional.unico.app/api/public/v1
取引の作成
POST /credit/transaction — 新しい取引を作成します。
コンバージョンを高めるため、事前認証やカード非提示認証体験の前に取引を完了させてしまう可能性のある検証は、すべて完了させた後にのみ取引を作成してください。
orderNumberフィールドには、そのeコマースシステムにおける購入の一意の注文番号を入力する必要があります — 別の取引IDを使用するのは誤りです。これを使い回すと、コンバージョンの低下(注文番号はエンドユーザーがフローを完了する助けとなります)や、同じ注文番号・CPF・BIN・下4桁を使用した場合のreplicated transactionのようなAPIエラーの原因となる可能性があります。
| ヘッダー | 値 |
|---|---|
Authorization | Bearer {token} — 有効なアクセストークン。 |
{
"identity": { "key": "cpf", "value": "12345678900" },
"orderNumber": "order-98765",
"company": "company-id",
"redirectUrl": "https://yourapp.com/checkout/return",
"card": {
"binDigits": "12345678",
"lastDigits": "1234",
"expirationDate": "12/2028",
"name": "John Doe"
},
"value": 199.90,
"mainContacts": [
{ "key": "phone", "value": "5543999999999" }
],
"additionalInfo": {
"externalUserID": "YOUR_EXTERNAL_USER_ID"
}
}
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
identity | object | yes | ユーザー識別データ。 |
identity.key | string | yes | ユーザー識別キーのタイプ。cpfを推奨します — コンバージョン率が高くなります。 |
identity.value | string | yes | ユーザー識別キーの値。ドットやハイフンを含めないこと。 |
orderNumber | string | yes | 取引に関連付けられた注文番号。ポータル内のインデックスとして、また貴社のシステムとカード非提示認証間の外部キーとして使用されます。 |
company | string | yes | Unicoから提供される、取引を担当する会社のID。 |
redirectUrl | string | no | 取引完了後にユーザーをリダイレクトするURL(WebではHTTPSのURL、ネイティブモバイルアプリではURLスキーム)。 |
card | object | yes | 取引で使用されるカードに関する情報。 |
card.binDigits | string | yes | カードの最初の8桁。 |
card.lastDigits | string | yes | カードの下4桁。 |
card.expirationDate | string | no | カードの有効期限。 |
card.name | string | yes | カード名義人の氏名。ユーザー体験やコミュニケーションで使用されるため、エンコーディングの問題を避け、正しく送信してください。 |
value | number | yes | 購入の合計金額。 |
mainContacts | array | no | カード非提示認証が通知を担当する場合に、ユーザーへの通知に使用される主な連絡先(メールおよび/または電話)のリスト。 |
fallbackContacts | array | no | 主な連絡先への通知試行が失敗した場合にトリガーされる、代替連絡先のリスト。 |
additionalInfo | object | no | この取引でサイレント認証を有効にするには、externalUserIDを含むこのオブジェクトを送信してください。 |
additionalInfo.externalUserID | string | yes(additionalInfoを送信する場合) | デバイスメタデータの収集時にSDKのexternalUserIdで設定したものと同じ識別子。サイレント検証をトリガーするために必須です — これを指定しない場合、取引は通常どおり作成されますが、常に標準の画面表示フローに従います。 |
{
"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...",
"expiresAt": "2026-07-22T15:30:00Z"
}
| フィールド | 説明 |
|---|---|
id | 作成された取引のID。 |
status | 取引の現在のステータス。 |
link | 取引に関連するリンク。 |
token | カード非提示認証 Web SDKを初期化するために必要なパラメーターを含む署名済みトークン。 |
expiresAt | 取引の有効期限日時、ISO 8601(UTC)。 |
生体キャプチャが不要であると検証が判断した場合、レスポンスは異なるステータスとなり、キャプチャリンクは生成されません。
{
"id": "6ab1771e-dfab-4e47-8316-2452268e5481",
"status": "fast-inconclusive"
}
これは、チェックアウトでPreまたはSuper Preモジュールを使用している場合に発生します。詳しくは機能をご覧ください。
additionalInfo.externalUserIDが送信され、取引がサイレントに承認された場合、レスポンスでもキャプチャリンクは省略されます。
{
"id": "6ab1771e-dfab-4e47-8316-2452268e5481",
"status": "approved"
}
SDKの設定やタイミング要件を含む完全なフローについては、サイレント認証をご覧ください。
エラーレスポンスについては、エラー — 取引の作成をご覧ください。
取引ステータスの取得
GET /credit/transactions/{transaction_id} — 特定の取引の現在のステータスを確認します。
| ヘッダー | 値 |
|---|---|
Authorization | Bearer {token} — 有効なアクセストークン。 |
{
"status": "processing"
}
| フィールド | 説明 |
|---|---|
status | 取引の現在のステータス。 |
考えられるすべてのステータスについては、列挙値をご覧ください。パフォーマンスを最適化するため、このエンドポイントをポーリングする代わりにWebhookを実装してください。
エラーレスポンスについては、エラー — 取引ステータスの取得をご覧ください。
取引の証跡セットの取得
GET /credit/transactions/{transaction_id}/probative — 特定の取引の証跡セットを取得します。
証跡セットは、承認済みの取引に対してのみ生成できます。
証跡セット用に返されるリンクは、取得後5分間のみ有効です — 保存せず、すぐに証跡セットのダウンロードに使用してください。
| ヘッダー | 値 |
|---|---|
Authorization | Bearer {token} — 有効なアクセストークン。 |
{
"link": "https://unico.io/probative.pdf"
}
| フィールド | 説明 |
|---|---|
link | 証跡ファイルのURL。 |
エラーレスポンスについては、エラー — 取引の証跡セットの取得をご覧ください。
取引通知の再送信
POST /credit/transactions/{transaction_id}/notify — 特定の取引についてメールおよび/または電話による通知を再送信します。
APIを実装せずに、ポータルから通知の再送信を設定することも可能です。可能性についてはプロジェクトの担当窓口にご相談ください。
| ヘッダー | 値 |
|---|---|
Authorization | Bearer {token} — 有効なアクセストークン。 |
{
"phone": "NOTIFICATION_PHONE",
"email": "NOTIFICATION_EMAIL"
}
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
phone | string | yes | 通知を送信する電話番号。 |
email | string | yes | 通知を送信するメールアドレス。 |
{
"id": "b50ee24c-71eb-4a5d-ade1-41c48b44c240",
"link": "https://aces.so/example"
}
| フィールド | 説明 |
|---|---|
id | 生成された通知の一意のID。 |
link | 生成された通知用のリンク。 |
エラーレスポンスについては、エラー — 取引通知の再送信をご覧ください。