Lithic · Schema

digital-wallet-tokenization-approval-request

Payload for digital wallet tokenization approval requests. Used for both the decisioning responder request (sent to the customer's endpoint for a real-time decision) and the subsequent webhook event (sent after the decision is made). Fields like customer_tokenization_decision, tokenization_decline_reasons, tokenization_tfa_reasons, and rule_results are only populated in the webhook event, not in the initial decisioning request.

FinTechBaaSCard IssuingPaymentsEmbedded Finance
View JSON Schema on GitHub

JSON Schema

lithic-digital-wallet-tokenization-approval-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/digital-wallet-tokenization-approval-request",
  "title": "digital-wallet-tokenization-approval-request",
  "description": "Payload for digital wallet tokenization approval requests. Used for both the decisioning responder request (sent to the customer's endpoint for a real-time decision) and the subsequent webhook event (sent after the decision is made). Fields like customer_tokenization_decision, tokenization_decline_reasons, tokenization_tfa_reasons, and rule_results are only populated in the webhook event, not in the initial decisioning request.",
  "allOf": [
    {
      "$ref": "#/components/schemas/tokenization-request-base"
    },
    {
      "type": "object",
      "properties": {
        "digital_wallet_token_metadata": {
          "$ref": "#/components/schemas/digital-wallet-token-metadata"
        },
        "customer_tokenization_decision": {
          "description": "The customer's tokenization decision outcome. Only populated in webhook events (after decisioning), not in the initial decisioning request",
          "oneOf": [
            {
              "type": "null"
            },
            {
              "$ref": "#/components/schemas/customer-tokenization-decision"
            }
          ]
        },
        "event_type": {
          "description": "The name of this event",
          "enum": [
            "digital_wallet.tokenization_approval_request"
          ],
          "example": "digital_wallet.tokenization_approval_request",
          "type": "string"
        },
        "tokenization_decline_reasons": {
          "description": "List of reasons why the tokenization was declined. Only populated in webhook events, not in the initial decisioning request",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/tokenization-decline-reason"
          }
        },
        "tokenization_tfa_reasons": {
          "description": "List of reasons why two-factor authentication was required. Only populated in webhook events, not in the initial decisioning request",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/tokenization-tfa-reason"
          }
        },
        "rule_results": {
          "description": "Results from rules that were evaluated for this tokenization. Only populated in webhook events, not in the initial decisioning request",
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/tokenization-rule-result"
          }
        }
      },
      "required": [
        "digital_wallet_token_metadata",
        "event_type"
      ]
    }
  ],
  "examples": [
    {
      "account_token": "00000000-0000-0000-0000-000000000002",
      "card_token": "00000000-0000-0000-0000-000000000001",
      "created": "2023-09-18T12:34:56Z",
      "device": {
        "imei": "123456789012345",
        "ip_address": "1.1.1.1",
        "location": "37.3860517/-122.0838511"
      },
      "digital_wallet_token_metadata": {
        "payment_account_info": {
          "account_holder_data": {
            "phone_number": "+15555555555"
          },
          "pan_unique_reference": "pan_unique_ref_1234567890123456789012345678",
          "payment_account_reference": "ref_1234567890123456789012",
          "token_unique_reference": "token_unique_ref_1234567890123456789012345678"
        },
        "payment_app_instance_id": "app_instance_123456789012345678901234567890",
        "status": "Pending",
        "token_requestor_id": "12345678901",
        "token_requestor_name": "APPLE_PAY"
      },
      "event_type": "digital_wallet.tokenization_approval_request",
      "issuer_decision": "APPROVED",
      "tokenization_channel": "DIGITAL_WALLET",
      "tokenization_source": "PUSH_PROVISION",
      "tokenization_token": "tok_1234567890abcdef",
      "wallet_decisioning_info": {
        "account_score": "100",
        "device_score": "100",
        "recommendation_reasons": [
          "Reason1"
        ],
        "recommended_decision": "Decision1"
      }
    },
    {
      "account_token": "00000000-0000-0000-0000-000000000002",
      "card_token": "00000000-0000-0000-0000-000000000001",
      "created": "2023-09-18T12:34:56Z",
      "customer_tokenization_decision": {
        "latency": "100",
        "outcome": "APPROVED",
        "responder_url": "https://example.com",
        "response_code": "123456"
      },
      "device": {
        "imei": "123456789012345",
        "ip_address": "1.1.1.1",
        "location": "37.3860517/-122.0838511"
      },
      "digital_wallet_token_metadata": {
        "payment_account_info": {
          "account_holder_data": {
            "phone_number": "+15555555555"
          },
          "pan_unique_reference": "pan_unique_ref_1234567890123456789012345678",
          "payment_account_reference": "ref_1234567890123456789012",
          "token_unique_reference": "token_unique_ref_1234567890123456789012345678"
        },
        "payment_app_instance_id": "app_instance_123456789012345678901234567890",
        "status": "Pending",
        "token_requestor_id": "12345678901",
        "token_requestor_name": "APPLE_PAY"
      },
      "event_type": "digital_wallet.tokenization_approval_request",
      "issuer_decision": "APPROVED",
      "tokenization_channel": "DIGITAL_WALLET",
      "tokenization_source": "PUSH_PROVISION",
      "tokenization_token": "tok_1234567890abcdef",
      "wallet_decisioning_info": {
        "account_score": "100",
        "device_score": "100",
        "recommendation_reasons": [
          "Reason1"
        ],
        "recommended_decision": "Decision1"
      },
      "tokenization_decline_reasons": [
        "ACCOUNT_SCORE_1"
      ],
      "tokenization_tfa_reasons": [],
      "rule_results": [
        {
          "auth_rule_token": "550e8400-e29b-41d4-a716-446655440003",
          "result": "DECLINED",
          "name": "CustomerAccountRule",
          "explanation": "Account risk too high"
        }
      ]
    }
  ]
}