> ## Documentation Index
> Fetch the complete documentation index at: https://nextgen-docs.enfuce.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Samsung Pay push provisioning

> This endpoint is only used for Samsung Pay push provisioning.

Response is a JSON that must be passed to Samsung and onwards to MDES/VTS.




## OpenAPI

````yaml json-files/wallet.openapi.json post /v1/wallet/{cardId}/provision/samsungpay
openapi: 3.0.3
info:
  description: >
    Wallet API enables getting needed data for tokenization and enablement in
    programs like

    Apple Pay and Google Pay.


    #### Terms used

    <table>
      <tr>
        <th>Term</th>
        <th>Definition</th>
      <tr>
        <td>Customer</td>
        <td>End customer using financial institution's mobile application</td>
      </tr>
      <tr>
        <td>In-app activation</td>
        <td>Wallet provisioning using financial institution app as authentication method</td>
      </tr>
      <tr>
        <td>In-app provisioning</td>
        <td>Mastercard's term for push provisioning</td>
      </tr>
      <tr>
        <td>Push provisioning</td>
        <td>VISA's term for pushing card details from within mobile application. This term will be used in this document</td>
      </tr>
      <tr>
        <td>Wallet provider</td>
        <td>Such as Apple Pay, Google Pay or Samsung Pay </td>
      </tr>
    </table>


    It's called in two cases:

    - *Push provisioning* - this is usually done within issuers own application
    and card holder does

    not need to enter any information. Then the different endpoints for push
    provisioning must be used.

    - *In-app activation* - activating a card by manually adding information,
    then endpoint for generate activation

    data must be used after authentication of end customer is completed.


    ![ Provisioning example
    ](https://enfuce-public-resources.s3.eu-central-1.amazonaws.com/public/wallet_push_prov.svg)


    In above case the difference between push provisioning and in-app activation
    is which endpoint that is

    called in step 3.

    Note that diagram above is a simplification of full flow in order to explain
    it from a developer point of view.
  version: '1'
  title: Wallet operations
  contact:
    name: Enfuce Financial Services
    url: https://enfuce.com
    email: info@enfuce.com
  x-logo:
    url: https://developer.enfuce.com/images/enfuce.svg
    altText: Enfuce logo
servers:
  - url: https://api.{{tenant}}.ext-uat1-sandbox.mycore.enfuce.com/issuer
    description: UAT Sandbox
  - url: https://api.{{tenant}}.eu.live.prod.mycore.enfuce.com/issuer
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Push Provision
  - name: Activate token
  - name: Get tokens
paths:
  /v1/wallet/{cardId}/provision/samsungpay:
    post:
      tags:
        - Push Provision
      summary: Samsung Pay push provisioning
      description: >
        This endpoint is only used for Samsung Pay push provisioning.


        Response is a JSON that must be passed to Samsung and onwards to
        MDES/VTS.
      operationId: provisionSamsungPay
      parameters:
        - name: cardId
          in: path
          description: >-
            CardId for the card that should be provisioned (returned from card
            operation)
          required: true
          schema:
            type: string
            format: uuid
        - $ref: '#/components/parameters/x-audit-user'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SamsungParametersRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/externalResponseIssuerInitiatedDigitizationData
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      deprecated: false
components:
  parameters:
    x-audit-user:
      in: header
      name: x-audit-user
      required: false
      description: Optional audit user header
      schema:
        type: string
  schemas:
    SamsungParametersRequest:
      type: object
      properties:
        clientAppID:
          type: string
          maxLength: 36
          description: Only applicable for VTS customers
        clientDeviceID:
          type: string
          description: >-
            Only applicable for VTS customers. Unique identifier for the device
            being provisioned.
        clientWalletAccountID:
          type: string
          description: >-
            Only applicable for VTS customers. Wallet account identifier for the
            cardholder.
        tokenRequestorID:
          type: string
          maxLength: 11
          pattern: ^[0-9]{1,11}$
          description: >-
            Only applicable for VTS customers. Visa-assigned Token Requestor ID
            (TRID) for the target wallet.
      title: SamsungParametersRequest
    externalResponseIssuerInitiatedDigitizationData:
      type: object
      properties:
        digitizationData:
          type: string
          nullable: true
          description: >
            Mastercard (MDES) path: Base64 encoded JSON containing card
            digitisation data.

            Populated when the card belongs to a Mastercard program; null on the
            Visa path.
          example: >-
            eyJmdW5kaW5nQWNjb3VudEluZm8iOnsiZW5jcnlwdGVkUGF5bG9hZCI6eyJlbmNyeXB0ZWRLZXkiOiIwNDhmYjgyZDUzYmE1MjE4MDVhMWU3ZTAxMGZiYjQ2MTEyZWMzYzBiOWM3MjJhNWVkMDgwN2JhYTUyYmY3ZDFiMWMxZGFhYzVkNTQwOGVlZTc2MWIzODUwMTIxYjIwM2IyNmQwZTZiODYzNzIyNzUxY2I3NGE4YThiY2I3NDIxMmFiMDgxZGQ0ZjU1ZTM2ZDhiZjE2Mzc0Mzk0ZGQ3YjA2ZjRiYzAwZjM5YTUwZTI5NDk3MzRiYWMyZWVhY2Y3ZjIxMWFmMjQ0NGQwYmUxZTk2YzBhM2NkNjQwNmU3NGM2ZTkxZGI4OTRmNWE4MTBjOTY0ZGY4ODdjMDBjMzdkZTVkNTI5MTk3MGYyNDMyOTVlNGI3MzgzNmEyYzJiMDhmZTFmNjc5ZjRiMjkwMzhhODdjYTgwMjg3ZTExZDgzYzcxODkyMDk0NTEzNjIyYWU4OWM0NTk3ZmM1MWY0NDA3Y2ZhZWZiZmNkZTkxYjJhNDNhMTQ3NjNkY2E2Y2Q4YWM2MDk3MmRmZDUxNmZmNWI5YjQzZDliOGM5Yzg5ZjYxY2NkNmEyMzA3YTQ4YTVlYzRlNDZlYzE4MmI0Yjk1YmQ0ZGEyNTA3YjZjNzlhMjY1YzBjOWRkYThiYjZhNmM3M2U0NDhiY2E0OGFjZGMzY2U4YTQ1MGE3YjllYjVkYjQ3ZWFjZSIsIml2IjoiNzRlZGU5ZDUyNDc4Yjk4ZTQ1NDEzYzIyMDcwNzlkYmQiLCJvYWVwSGFzaGluZ0FsZ29yaXRobSI6IlNIQTI1NiIsInB1YmxpY0tleUZpbmdlcnByaW50IjoiMjI5MGExMzdiOTRiZmI3YWI0YzA2OTA5MWQ3Yjc5OWMzN2UyMWY1NGYzYmRhOGNiZDAwODZmNzk0YzE0OTkyZSIsImVuY3J5cHRlZERhdGEiOiI2YTgyYmJmMzNjZjZiMjk3MjY0ZDIwM2I1ZjU4YTMzZDdlM2NkMGU3YjNiY2E1NTJkYjQwY2NmZjg2NzI4ZDc3YjRjN2JhMzI3YTg3ZmI0MTg5ZmJjZGM5NTExYjZiZTJkZGZlOTRkODViMjBkNmFmOGRlYTM5OWE5MTAzYTQzYmRkOTc4YTNkOWM2MDlhZTQyYzUwMGJiYjNlNWVmMjhmNDg3ZmM4MDQzY2MwOWY3YTQzMjE2YzZjMWY1NDFhNTkxM2U5OGRmNzlmYzY3YjM3ZmFiY2RhNTliZDQ3Njk2YjFmMzlhYWM5NGE3ODQyNmRiOGZkNTY4NmY4NDFmNDZiZDNhMjEyMTdmYTYwYjAxMDQ0YWI4YmFkNjRmY2M0YTFhOGY2MDNkNGIzNGUyZmYwMmY1N2Y1OGQ4NzI3NWUwYTkzZDc1ZDVhOWQ2ZjIxN2M5MmEyZjZjNDViMzE3YjkzZTg2YmNlNzc5NDExM2I3ODEyYzY4NmNiODYzMzlhM2Y0MDVkMDNmZmVjZTg4NWQ4ODFlYjA5ZmM4NDQ5ZTgxMzgzYmM1ZTJhOGI0MWQ4MTUxNmRjMGI2OGExZGQxNTgyNzQwNmQ5OTNjNjU1MGZjNzA2MmNlNjZkZWVmNzAwNzNkMmNiMjQ3NmEyZjc2MGU0ODVmZDgxMzY1MTc1ZjczYTQ2ZWU4NzI4YzRjNGNhODhmMzljNTgwYzUwZjYwNDBjYWM2ZmYyZjVlNzZjZTAxYTg1YTUxYTI5NDBmMTQ4YWQ3YjFiNTRhZTM3MGY4NjlmYTJmOGFiNGVmOTE3ZjU4MjUyN2FjYjk1MTkwOGU3NTVkNmE0YmNjNzUwODBiMmFkYjMwZTg5MmMyZTM0ZDE0MTA3MGZiMjJhMWQzMmEwY2U4ZDg5Nzg3M2ZjYzFhNzRmMGFmYWE2MDU4MzZhMjY3YyJ9LCJwYW5VbmlxdWVSZWZlcmVuY2UiOm51bGwsInRva2VuVW5pcXVlUmVmZXJlbmNlIjpudWxsfSwidG9rZW5pemF0aW9uQXV0aGVudGljYXRpb25WYWx1ZSI6ImV5SjJaWEp6YVc5dUlqb2lOQ0lzSW1SaGRHRldZV3hwWkZWdWRHbHNWR2x0WlhOMFlXMXdJam9pTWpBeU5pMHdOUzB5TmxReE5qb3dPRG8wTmxvaUxDSnJaWGxCYkdsaGN5STZJakkwTVRVd05DMUZUa1pWUTBVdFRWbERUMUpGTFZSQlZpMHdOakkxSWl3aWMybG5ibUYwZFhKbElqb2liR3AwY1VSdVlYbEVUa2RhV0RWc2VYVlVjVkpyVlc1WFV6QjJZbXBKZGt3ME55dENkblJHT0UwdlR6UllUbFJGYnpjd1IxRXpZbGcxTVUxRVRUVTBSbWhJVkVZcmMwOWFjamR5YjBRelowVkpRMEpRVjI5M05qUTVLMDFuY2xseFpHSm5UMmhxVFZCVU0zZEpXWFZ3V1hSMFFqVlBVVE5CTkdKemVqUm9aMkU1WjBoNlNEUnpVazl3Ym01NGJIZE5OR0Z4VGtGUFJXVTJlRmsyU21kaFJVdzNaRTFCTTFaWGEzaEVUWEl3SzJaQ09ESmhNVTVPTTNsVFF6aFdTSGxCTmxGM2EybHhhbUZNVldFd2VTdGFNbmhIY0hBMkx6WndMM2h5T1cxSU9HSmFkbVJwTkhKUmIwUmpjMGxQUTAxbE5ETnBZVVphVERCc2FIcFJTVXhuWVVWVVpGUmxMMVo0UzFGVk0wOWFZbmN4YTFOTlZIZEVUbEYyTVZSSmIxRmhia1E0WXk4MGVuQXZOekIwU1M4NWFHSnNhME5EVWt0M1ltWjJUVUZOUzA1U1ZteFJWWFJsVWtodmFsVTFOVEpZVEhaS0x6Um5QVDBpTENKemFXZHVZWFIxY21WQmJHZHZjbWwwYUcwaU9pSlNVMEV0VTBoQk1qVTJJaXdpYVc1amJIVmtaV1JHYVdWc1pITkpiazl5WkdWeUlqb2laR0YwWVZaaGJHbGtWVzUwYVd4VWFXMWxjM1JoYlhCOFlXTmpiM1Z1ZEU1MWJXSmxjbnhoWTJOdmRXNTBSWGh3YVhKNUluMD0ifQ
        paymentInstrument:
          type: string
          description: >
            Visa (VTS) path: Compact JWE string (A256GCMKW/A256GCM) to pass to
            the VTS Enroll API.

            Populated when the card belongs to a Visa program. Absent on the
            Mastercard path.

            The wallet must call VTS Enroll within 3 minutes of receiving it
            (the encrypted data

            expires 20 minutes after issue) with
            panSource=ISSUER_PUSH_PROVISION, and the

            clientWalletAccountID / clientDeviceID in the Enroll request must
            match the values

            supplied in this provisioning request.
    ErrorResponse:
      type: object
      properties:
        type:
          description: The problem type.
          type: string
        title:
          description: The reason phrase of HttpStatus.
          type: string
        status:
          description: HTTP problem status.
          type: number
        detail:
          description: The problem detail.
          type: string
        instance:
          description: The request path.
          type: string
        id:
          description: Unique error identifier.
          type: string
          format: uuid
        timestamp:
          description: Date-time when error occurred.
          type: string
          format: date-time
  responses:
    Unauthorized:
      description: Unauthorized
    Forbidden:
      description: Forbidden
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            type: about:blank
            title: Forbidden
            status: 403
            detail: Access Denied
            instance: /v1/cards
            id: 5cc541cb-f456-4331-b537-d2380fca0403
            timestamp: '2026-02-24T12:34:56Z'
    NotFound:
      description: Not found
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            type: about:blank
            title: Not Found
            status: 404
            detail: >-
              Entity not found - Program with id:
              2ec117b7-454e-4cc5-8b89-dea5485aab2b
            instance: /v1/cards
            id: 5cc541cb-f456-4331-b537-d2380fca0404
            timestamp: '2026-02-24T12:34:56Z'
    InternalServerError:
      description: Internal server error
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            type: about:blank
            title: Internal Server Error
            status: 500
            detail: Unexpected error occurred.
            instance: /v1/cards
            id: 5cc541cb-f456-4331-b537-d2380fca0500
            timestamp: '2026-02-24T12:34:56Z'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````