How To Use

Follow this implementation sequence to integrate Visa Offers Network (VON) API services for complete offers ecosystem management.

  1. Enroll users with Primary Account Numbers (PANs) and manage additional cards using the Consumer Enrollment Service.
  2. Retrieve eligible or personalized offers for enrolled users using the Eligibility Service.
  3. Track user events and retrieve dashboard data showing earnings and transaction history using the Ledger Service.

VON API Endpoints Reference

All endpoints require authentication using an API key (X-GOR-API-KEY) and shared secret (X-GOR-SHARED-SECRET), together with the appropriate headers.

This table provides a comprehensive overview of all HTTP methods, endpoints, and authentication headers used for the VON services, including standard endpoints and generic transform endpoints.

Service Category Service Name HTTP Method Endpoint Authentication Header
Offers Create New Offer POST /von/gor-gateway/gor-offers/v1/offers No header is required; however, authentication through X-GOR-API-KEY and X-GOR-SHARED-SECRET are required.
Offers Get and Filter Offers GET /von/gor-gateway/gor-offers/v1/offers No header is required; however, authentication through X-GOR-API-KEY and X-GOR-SHARED-SECRET are required.
Offers Get Offer by GOR Merchant ID GET /von/gor-gateway/gor-offers/v1/offers/{gorMerchantId} No header is required; however, authentication through X-GOR-API-KEY and X-GOR-SHARED-SECRET are required.
Offers Update Offers PUT /von/gor-gateway/gor-offers/v1/offers No header is required; however, authentication through X-GOR-API-KEY and X-GOR-SHARED-SECRET are required.
Offers Delete Offer DELETE /von/gor-gateway/gor-offers/v1/offers/{gorMerchantId} No header is required; however, authentication through X-GOR-API-KEY and X-GOR-SHARED-SECRET are required.
Offers Get Offers for a Specific Merchant GET /von/gor-gateway/gor-offers/v2/merchants/{merchantId}/offers No header is required; however, authentication through X-GOR-API-KEY and X-GOR-SHARED-SECRET are required.
Offers Create Offers under a Merchant POST /von/gor-gateway/gor-offers/v2/merchants/offers No header is required; however, authentication through X-GOR-API-KEY and X-GOR-SHARED-SECRET are required.
Offers Update Offer for a Merchant PATCH /von/gor-gateway/gor-offers/v2/merchants/offers No header is required; however, authentication through X-GOR-API-KEY and X-GOR-SHARED-SECRET are required.
Offers Delete Offer for a Merchant DELETE /von/gor-gateway/gor-offers/v2/merchants/{merchantId}/offers/{offerId} No header is required; however, authentication through X-GOR-API-KEY and X-GOR-SHARED-SECRET are required.
Offers (Generic) Create Offers - Generic POST /von/gor-gateway/gor-offers/generic/transform/v1/offers No header is required; however, authentication through X-GOR-API-KEY and X-GOR-SHARED-SECRET are required.
Offers (Generic) Update Offers - Generic PUT /von/gor-gateway/gor-offers/generic/transform/v1/offers No header is required; however, authentication through X-GOR-API-KEY and X-GOR-SHARED-SECRET are required.
Offers (Generic) Create Merchant Offers - Generic POST /von/gor-gateway/gor-offers/generic/transform/v2/merchants/offers No header is required; however, authentication through X-GOR-API-KEY and X-GOR-SHARED-SECRET are required.
Offers (Generic) Update Merchant Offers - Generic PATCH /von/gor-gateway/gor-offers/generic/transform/v2/merchants/offers No header is required; however, authentication through X-GOR-API-KEY and X-GOR-SHARED-SECRET are required.
Consumer Enrollment Consumer Opt-In POST /von/gor-gateway/gor-consumer-enrollment/v1/optIn No header is required; however, authentication through X-GOR-API-KEY and X-GOR-SHARED-SECRET are required.
Consumer Enrollment Add PAN for a User POST /von/gor-gateway/gor-consumer-enrollment/v1/addPan/{trackingId} No header is required; however, authentication through X-GOR-API-KEY and X-GOR-SHARED-SECRET are required.
Consumer Enrollment Delete Consumer Opt-In DELETE /von/gor-gateway/gor-consumer-enrollment/v1/optOut/{trackingId} No header is required; however, authentication through X-GOR-API-KEY and X-GOR-SHARED-SECRET are required.
Consumer Enrollment (Generic) Consumer Enrollment - Opt In - Generic POST /von/gor-gateway/gor-consumer-enrollment/generic/transform/v1/optIn No header is required; however, authentication through X-GOR-API-KEY and X-GOR-SHARED-SECRET are required.
Eligibility Get Offers for User POST /von/gor-gateway/gor-eligibility/v1/offers/user No header is required; however, authentication through X-GOR-API-KEY and X-GOR-SHARED-SECRET are required.
Eligibility Get Segments By Card ID GET /von/gor-gateway/gor-eligibility/v1/segment/{userId}/{cardId} No header is required; however, authentication through X-GOR-API-KEY and X-GOR-SHARED-SECRET are required.
Eligibility Get Segment By User ID GET /von/gor-gateway/gor-eligibility/v1/segment/{userId} No header is required; however, authentication through X-GOR-API-KEY and X-GOR-SHARED-SECRET are required.
Eligibility Get Merchant Ranks for a Card Id GET /von/gor-gateway/gor-eligibility/v1/merchants/ranks/{userId}/{cardId} No header is required; however, authentication through X-GOR-API-KEY and X-GOR-SHARED-SECRET are required.
Eligibility Get Merchant Ranks for a User GET /von/gor-gateway/gor-eligibility/v1/merchants/ranks/{userId} No header is required; however, authentication through X-GOR-API-KEY and X-GOR-SHARED-SECRET are required.
Ledger Ledger Add Event POST /von/gor-gateway/gor-ledger/v1/event EX-CORRELATION-ID (optional)
Ledger Consumer Dashboard GET /von/gor-gateway/gor-ledger/v1/consumer-dashboard No header is required; however, authentication through X-GOR-API-KEY and X-GOR-SHARED-SECRET are required.
Ledger (Generic) Ledger Add Event - Generic POST /von/gor-gateway/gor-ledger/generic/transform/v1/event No header is required; however, authentication through X-GOR-API-KEY and X-GOR-SHARED-SECRET are required.
Payout Payout Request POST /von/gor-gateway/gor-payout/v1/payout clientId (required)
Payout (Generic) Payout Request - Generic POST /von/gor-gateway/gor-payout/generic/transform/v1/payout No header is required; however, authentication through X-GOR-API-KEY and X-GOR-SHARED-SECRET are required.

Make Your First API Call

Make your first API call to the Visa Offers Network (VON) to verify your integration setup and authentication configuration. The first API call serves as a connectivity and authentication test.

  1. Prepare your HTTP client with the required headers for authentication. The Consumer Opt-In endpoint is ideal for testing authentication setup.
  2. Construct a POST request to the Consumer Opt-In endpoint for initial testing. This endpoint validates user enrollment data and provides comprehensive testing of authentication and request body handling.
  3. Set the request URL to: https://sandbox.api.visa.com/von/gor-gateway/gor-consumer-enrollment/v1/optIn. This endpoint enrolls consumers in VON using Primary Account Number (PAN) details and returns a unique tracking ID for future operations.
  4. Add the required headers including Content-Type and authentication. Set Content-Type: application/json and X-GOR-CLIENT-ID: your-client-id-here (replace with your actual client ID from the Visa Developer Center).
  5. Prepare the request body with required enrollment data. Include the following JSON structure in your request body:
{
   "appId": "12345678-1234-5123-a123-123456789012",
   "externalUserId": "user123",
   "cards": [
      {
        "pan": "XXXXXXXXXXXXXXXX",
        "isPayoutPan": true
      }
   ]
}
		

          Replace the values with your application ID (must follow the UUID pattern), external user identifier (1-255 characters), and card details. The PAN must be a 16-19 digit card number or can be empty.

      6. Execute the POST API call and examine the response. A successful response returns HTTP 200 (Opt-In enrollment successful) with OptInResponse schema including a trackingId for the enrolled user. Store this trackingId for subsequent API calls. 

      7. Verify the response format and validate the tracking ID. Check that the response includes status, message, and trackingId fields. Handle error responses (400 Invalid request or 500 Internal server error) by examining the error details in the OptInResponse schema.

You have successfully made your first VON API call and verified that your authentication and connectivity are working correctly.

 

Offers Service

The Offers Service provides comprehensive merchant offer lifecycle management through Create, Read, Update, and Delete (CRUD) operations, enabling third-party aggregators to manage offers across the Visa Offers Network (VON) platform.

This service enables third-party aggregators and content providers to manage merchant offers, coupons, and promotional campaigns within VON. There are 13 endpoints supporting both individual offer management and bulk operations for large-scale merchant programs.

Create New Offer

Use this service to create new offers in the Visa Offers Network (VON).

Endpoint details are as follows:

  • HTTP Method – POST
  • URL/von/gor-gateway/gor-offers/v1/offers
  • Operation ID – createOffers

The typical implementation sequence is as follows:

  1. Set the required X-GOR-CLIENT-ID header (Client ID).
  2. Prepare offer data with merchant details, reward structure, and terms. Each offer can include multiple components:
    • Merchant Information – Basic merchant details including name, ID, category, contact information, and business details
    • Offer Details – Offer-specific information including rewards, limits, dates, terms and conditions, and qualification criteria
    • Coupon Information – Coupon codes, descriptions, validity periods, and usage restrictions for promotional offers
    • Images and Media – Merchant logos, offer images, and other visual assets with specified dimensions and formats
    • Store Locations – Physical store information including addresses, coordinates, and location-specific details

    The request body must include Content-Type: application/json and contain an array of MerchantRequest objects to support bulk creation of multiple offers in a single request.

  3. Submit POST request with offer array.
  4. Process bulk response with success or error results.
    • Successful request returns HTTP 200 (Offers created successfully) with the BulkMerchantResponse schema. BulkMerchantResponse provides comprehensive feedback including errorResults, successResults, and resultCounts for detailed processing status of each offer in the bulk request.
    • Unsuccessful request returns HTTP 400 (Bad request) with the ErrorResponse schema.

Get and Filter Offers

Use this service to retrieve paginated offers with filtering by type, merchant name, category, and sorting capabilities.

Endpoint details are as follows:

  • HTTP Method – GET
  • URL/von/gor-gateway/gor-offers/v1/offers
  • Operation ID – getOffersByTypeAndMerchant

The typical implementation sequence for this API endpoint is as follows:

  1. Set the required X-GOR-CLIENT-ID header (Client ID).
  2. Add query parameters for filtering and set pagination parameters if needed.
    Parameter Type Required Description
    offerType string No Offer type filter. Enum values are:
    • C – coupons
    • O – offers
    merchantName string No Merchant name filter
    merchantCategory string No Merchant category filter
    page integer No Page number for pagination (default: 0, format: int32)
    size integer No Page size for pagination (default: 10, format: int32)
    sort string No Sort field (default: externalMerchantScore)
    direction string No Sort direction (default: DESC)
  3. Submit GET request.
  4. Process paginated offer results.
    • Successful request returns HTTP 200 (Offers retrieved successfully) with the PageOfferAllResponse schema.
    • Unsuccessful request returns HTTP 400 (Bad request) with the ErrorResponse schema.

Get Offer by GOR Merchant ID

Use this service to retrieve an offer by its GOR Merchant ID.

Endpoint details are as follows:

  • HTTP Method – GET
  • URL/von/gor-gateway/gor-offers/v1/offers/{gorMerchantId}
  • Operation ID – getOffer

The typical implementation sequence is as follows:

  1. Set the required X-GOR-CLIENT-ID header (Client ID).
  2. Provide the required GOR Merchant ID (gorMerchantId) in the URL path.
  3. Submit GET request.
  4. Process single offer response with success or error results.
    • Successful request returns HTTP 200 (Offer retrieved successfully) with the MerchantResponse schema.
    • Unsuccessful request returns HTTP 400 (Bad request) or 404 (Offer not found) with the ErrorResponse schema.

Update Offers

Use this service to update multiple offers.

Endpoint details are as follows:

  • HTTP Method – PUT
  • URL/von/gor-gateway/gor-offers/v1/offers
  • Operation ID – updateOffer

The typical implementation sequence is as follows:

  1. Set the required X-GOR-CLIENT-ID header (Client ID).
  2. Prepare updated offer data array. The request body must include Content-Type: application/json and contain an array of MerchantRequest objects to support bulk update of multiple offers in a single request.
  3. Submit PUT request with modified offer details.
  4. Process bulk response with success or error results.
    • Successful request returns HTTP 200 (Offers updated successfully) with the BulkMerchantResponse schema. BulkMerchantResponse provides comprehensive feedback including errorResults, successResults, and resultCounts for detailed processing status of each offer in the bulk request.
    • Unsuccessful request returns HTTP 400 (Bad request) or 404 (Offer not found) with the ErrorResponse schema.

Delete Offer

Use this service to delete an offer by its GOR Offer ID.

Endpoint details are as follows:

  • HTTP Method – DELETE
  • URL/von/gor-gateway/gor-offers/v1/offers/{gorMerchantId}
  • Operation ID – deleteOffer

The typical implementation sequence is as follows:

  1. Set the required X-GOR-CLIENT-ID header (Client ID).
  2. Provide the GOR Offer ID (gorMerchantId) of the specific offer you want to delete in the URL path (required).
  3. Submit DELETE request.
  4. Confirm deletion success.
    • Successful request returns HTTP 200 (Offer deleted successfully) with the MerchantResponse schema.
    • Unsuccessful request returns HTTP 400 (Bad request) or 404 (Offer not found) with the ErrorResponse schema.

Get Offers for a Specific Merchant (for VOX)

Use this service to retrieve all offers for a specific merchant by external merchantId. This endpoint is used for Visa Offers Exchange (VOX) only.

Endpoint details are as follows:

  • HTTP Method – GET
  • URL/von/gor-gateway/gor-offers/v2/merchants/{merchantId}/offers
  • Operation ID – getMerchantOffers

The typical implementation sequence is as follows:

  1. Set the required X-GOR-CLIENT-ID header (Client ID).
  2. Provide the required merchantId (external merchant identifier) in the URL path parameter.
  3. Submit GET request.
  4. Process merchant-specific offer response.
    • Successful request returns HTTP 200 (Offers retrieved successfully) with the PagedResponse schema containing all offers associated with the specified merchant.
    • Unsuccessful request returns HTTP 400 (Bad request) or 404 (Merchant not found or no offers available) with the ErrorResponse schema.

Create Offers under a Merchant (for VOX)

Use this service to create or update offers for an existing merchant. The merchantId must exist in the system. This endpoint is used for Visa Offers Exchange (VOX) only.

Endpoint details are as follows:

  • HTTP Method – POST
  • URL/von/gor-gateway/gor-offers/v2/merchants/offers
  • Operation ID – addOffersToMerchant

The typical implementation sequence is as follows:

  1. Set the required X-GOR-CLIENT-ID header (Client ID).
  2. Prepare merchant offer data with merchantId, offers, and action specification. The request body must include Content-Type: application/json and contain an array of MerchantRequestV2 objects with the action field specifying the desired operation.
  3. Submit POST request with merchant offer array.
  4. Process bulk response with success or error results.
    • Successful request returns HTTP 200 (Offers processed successfully) with the BulkOfferResponse schema providing detailed feedback for each offer operation.
    • Unsuccessful request returns HTTP 400 (Bad request - Invalid action or data) or 404 (Merchant not found) with the ErrorResponse schema.

Update Offer for a Merchant (for VOX)

Use this service to update offers for existing merchants. This endpoint is used for Visa Offers Exchange (VOX) only.

Endpoint details are as follows:

  • HTTP Method – PATCH
  • URL/von/gor-gateway/gor-offers/v2/merchants/offers
  • Operation ID – updateMerchantOffer

The typical implementation sequence is as follows:

  1. Set the required X-GOR-CLIENT-ID header (Client ID).
  2. Prepare merchant offer update data with merchantId, offers, and action specification. The request body must include Content-Type: application/json and contain an array of MerchantRequestV2 objects with the action field specifying the update operation.
  3. Specify the action type for each offer update operation:
    • UPDATE – Modify existing offer details
    • ACTIVATE – Enable previously inactive offers
    • DEACTIVATE – Disable currently active offers
  4. Submit PATCH request with merchant offer update array.
  5. Process bulk response with success or error results.
    • Successful request returns HTTP 200 (Offers updated successfully) with the BulkOfferResponse schema providing detailed feedback for each offer update operation.
    • Unsuccessful request returns HTTP 400 (Bad request - Invalid action or data) or 404 (Merchant or offer not found) with the ErrorResponse schema.

Delete Offer for a Merchant (for VOX)

Use this service to delete a specific offer by marking it as inactive. This endpoint is used for Visa Offers Exchange (VOX) only.

Endpoint details are as follows:

  • HTTP Method – DELETE
  • URL/von/gor-gateway/gor-offers/v2/merchants/{merchantId}/offers/{offerId}
  • Operation ID – deleteMerchantOffer

The typical implementation sequence is as follows:

  1. Set the required X-GOR-CLIENT-ID header (Client ID).
  2. Provide the required merchantId (external merchant identifier) and offerId (external offer identifier) in the URL path parameters.
  3. Submit DELETE request.
  4. Confirm deletion success.
    • Successful request returns HTTP 200 (Offer deleted successfully) with the MerchantResponse schema confirming the deletion operation.
    • Unsuccessful request returns HTTP 400 (Bad request) or 404 (Merchant or offer not found) with the ErrorResponse schema.

Create Offers - Generic

Use this generic endpoint to create offers with generic payload. This endpoint requires mapping configuration on Visa Offers Network (VON) prior to use. Contact your Visa Implementation Manager to set up the required payload mapping.

Endpoint details are as follows:

  • HTTP Method – POST
  • URL/von/gor-gateway/gor-offers/generic/transform/v1/offers
  • Operation ID – handleGenericRequest_2

The typical implementation sequence is as follows:

  1. Coordinate with Visa to configure payload mapping for your specific data structure before using this endpoint.
  2. Prepare generic payload structure based on your configured mapping requirements for creating offers.
  3. Submit POST request with generic object payload. The request body must include Content-Type: application/json and contain a generic object structure as configured in your VON mapping.
  4. Process generic response.
    • Successful request returns HTTP 200 (OK) indicating the generic payload was processed successfully through the configured mapping.
    • Unsuccessful request returns HTTP 400 (Bad Request) with the ErrorResponse schema.

Update Offers - Generic

Use this generic endpoint to update offers with generic payload. This endpoint requires mapping configuration on Visa Offers Network (VON) prior to use. Contact your Visa Implementation Manager to set up the required payload mapping.

Endpoint details are as follows:

  • HTTP Method – PUT
  • URL/von/gor-gateway/gor-offers/generic/transform/v1/offers
  • Operation ID – handleGenericRequest_1

The typical implementation sequence is as follows:

  1. Coordinate with Visa to configure payload mapping for your specific data structure before using this endpoint.
  2. Prepare generic payload structure based on your configured mapping requirements for updating offers.
  3. Submit PUT request with generic object payload. The request body must include Content-Type: application/json and contain a generic object structure as configured in your VON mapping.
  4. Process generic response.
    • Successful request returns HTTP 200 (OK) indicating the generic payload was processed successfully through the configured mapping.
    • Unsuccessful request returns HTTP 400 (Bad Request) with the ErrorResponse schema.

Create Merchant Offers - Generic

Use this generic endpoint to create merchant offers with generic payload. This endpoint requires mapping configuration on Visa Offers Network (VON) prior to use. Contact your Visa Implementation Manager to set up the required payload mapping.

Endpoint details are as follows:

  • HTTP Method – POST
  • URL/von/gor-gateway/gor-offers/generic/transform/v2/merchants/offers
  • Operation ID – handleGenericRequest_1

The typical implementation sequence is as follows:

  1. Coordinate with Visa to configure payload mapping for your specific data structure before using this endpoint.
  2. Prepare generic payload structure based on your configured mapping requirements.
  3. Submit POST request with generic object payload. The request body must include Content-Type: application/json and contain a generic object structure as configured in your VON mapping.
  4. Process generic response.
    • Successful request returns HTTP 200 (OK) indicating the generic payload was processed successfully through the configured mapping.
    • Unsuccessful request returns HTTP 400 (Bad Request) with the ErrorResponse schema.

Update Merchant Offers - Generic

Use this generic endpoint to update merchant offers with generic payload. This endpoint requires mapping configuration on Visa Offers Network (VON) prior to use. Contact your Visa Implementation Manager to set up the required payload mapping.

Endpoint details are as follows:

  • HTTP Method – PATCH
  • URL/von/gor-gateway/gor-offers/generic/transform/v2/merchants/offers
  • Operation ID – handleGenericRequest_2

The typical implementation sequence is as follows:

  1. Coordinate with Visa to configure payload mapping for your specific data structure before using this endpoint.
  2. Prepare generic payload structure based on your configured mapping requirements for updating merchant offers.
  3. Submit PATCH request with generic object payload. The request body must include Content-Type: application/json and contain a generic object structure as configured in your VON mapping.
  4. Process generic response.
    • Successful request returns HTTP 200 (OK) indicating the generic payload was processed successfully through the configured mapping.
    • Unsuccessful request returns HTTP 400 (Bad Request) with the ErrorResponse schema.

Consumer Enrollment Service

The Consumer Enrollment Service manages consumer opt-in and opt-out processes for personalized offers using Primary Account Numbers (PANs), serving as the gateway for user participation in Visa Offers Network (VON).

This service facilitates consumer enrollment and card management within the VON platform, enabling users to opt-in for personalized merchant offers and manage their payment card associations for cashback rewards. There are four endpoints supporting the complete consumer enrollment lifecycle from initial opt-in through card management to opt-out.

Consumer Opt-In

Use this service to enroll consumers in the Visa Offers Network (VON) using card details, which consist of Primary Account Numbers (PANs). This service returns a unique tracking ID for future API operations.

Endpoint details are as follows:

  • HTTP Method – POST
  • URL/von/gor-gateway/gor-consumer-enrollment/v1/optIn
  • Operation ID – optInEnrollment

The typical implementation sequence is as follows:

  1. Set the required X-GOR-CLIENT-ID header (Client ID).
  2. Prepare user enrollment data with appId, externalUserId, and card details. The request body must include the required fields (appId, cards, and externalUserId).
    • If you are adding a single PAN, set isPayoutPAN=true to designate it as the payout PAN.
    • If you are adding multiple PANs in a single request, you must set isPayoutPAN=true for at least one PAN. If no payout PAN is specified, the API will return an error.
  3. Submit POST request.
  4. Process response with success or error results.
    • Successful request returns HTTP 200 (Opt-In enrollment successful) with the OptInResponse schema including the trackingId, which indicates the user's encrypted PAN and is a unique identifier for enrolled users in VON. Store returned trackingId for future API calls.
    • Unsuccessful request returns HTTP 400 (Invalid request) or 500 (Internal server error) with the OptInResponse schema.

Add PAN for a User

Use this service to associate additional card details, which consist of Primary Account Numbers (PANs), with an existing Visa Offers Network (VON)-enrolled user for multi-card support.

Endpoint details are as follows:

  • HTTP Method – POST
  • URL/von/gor-gateway/gor-consumer-enrollment/v1/addPan/{trackingId}
  • Operation ID – addPanForExistingUser

The typical implementation sequence is as follows:

  1. Set the required X-GOR-CLIENT-ID header (Client ID).
  2. Provide the existing user's trackingId in the URL path (required).
  3. Prepare the card data with PAN details. The request body must include Content-Type: application/json and contain a CardRequest object with PAN details.
  4. Indicate if the PAN is used for payout purposes in the isPayoutPan field.
  5. Submit POST request.
  6. Confirm PAN addition success.
    • Successful request returns HTTP 200 (PAN added successfully) with the OptInResponse schema including the trackingId, which indicates the user's encrypted PAN.
    • Unsuccessful request returns HTTP 400 (Invalid request), 404 (User not found), or 500 (Internal server error) with the OptInResponse schema.

Delete Consumer Opt-In

Use this service to remove consumer enrollment from Visa Offers Network (VON) using their unique tracking ID and optional card details for complete opt-out processing.

Endpoint details are as follows:

  • HTTP Method – DELETE
  • URL/von/gor-gateway/gor-consumer-enrollment/v1/optOut/{trackingId}
  • Operation ID – deleteOptInEnrollment

The typical implementation sequence is as follows:

  1. Set the required X-GOR-CLIENT-ID header (Client ID).
  2. Provide the existing trackingId of the specific user enrollment you want to delete in the URL path (required).
  3. Prepare optional request body with OptOutRequest schema containing Primary Account Number (PAN) details and isOptOutUser field to indicate complete opt-out.
  4. Submit DELETE request.
  5. Confirm deletion success.
    • Successful request returns HTTP 200 (Opt-In enrollment deleted successfully) with an object response containing string key-value pairs for deletion confirmation details.
    • Unsuccessful request returns HTTP 400 (Invalid request), 404 (Opt-In enrollment not found), or 500 (Internal server error) with an object response containing string key-value pairs.

Consumer Enrollment - Opt In - Generic

Use this generic endpoint to do opt-in for cardholders. This endpoint requires mapping configuration on Visa Offers Network (VON) prior to use. Contact your Visa Implementation Manager to set up the required payload mapping.

Endpoint details are as follows:

  • HTTP Method – POST
  • URL/von/gor-gateway/gor-consumer-enrollment/generic/transform/v1/optIn
  • Operation ID – handleGenericRequest

The typical implementation sequence is as follows:

  1. Coordinate with Visa to configure payload mapping for your specific data structure before using this endpoint.
  2. Prepare generic payload structure based on your configured mapping requirements for consumer enrollment.
  3. Submit POST request with generic object payload. The request body must include Content-Type: application/json and contain a generic object structure as configured in your VON mapping.
  4. Process generic response.
    • Successful request returns HTTP 200 (OK) indicating the generic payload was processed successfully through the configured mapping.
    • Unsuccessful request returns HTTP 400 (Bad Request) with the ErrorResponse schema.

Eligibility Service

The Eligibility Service provides intelligent offer-to-user matching and segmentation capabilities, enabling personalized offer delivery by associating offers with enrollment collections and user characteristics.

This service delivers personalized offer experiences by determining user eligibility, segmentation, and merchant rankings based on user enrollment status, card characteristics, and behavioral patterns within the VON platform. There are five endpoints providing comprehensive eligibility determination from user enrollment verification through segmentation analysis to merchant ranking insights.

Get Offers for User

Use this service to verify user enrollment status and retrieve personalized eligible offers based on user ID, application ID, and filtering criteria with pagination support.

Endpoint details are as follows:

  • HTTP Method – POST
  • URL/von/gor-gateway/gor-eligibility/v1/offers/user
  • Operation ID – getOffersByUser

The typical implementation sequence is as follows:

  1. Prepare request body with required fields appId (ID of the client application) and externalUserId (unique identifier for a user within your application).
  2. Add query parameters for filtering and set pagination parameters if needed.
    Parameter Type Required Description
    offerType string Yes Indicates the type of offer requested.
    • O – offers
    • C – coupons
    • OC – offers and coupons
    page integer No Indicates the page number used in pagination (default: 1)
    size integer No Indicates the number of items displayed per page (default: 50)
    sort string No Provides the Visa merchant score for the merchant's offer ranking (default: visaMerchantScore)
    direction string No Indicates the sorting order (ascending or descending) (default: DESC)
  3. Submit POST request.
  4. Process results with eligible offers and user details.
    • Successful request returns HTTP 200 (Eligible offers retrieved successfully) with the GetOffersByUserResponseDto schema. The response includes details about the user and the offers they can receive, including eligible merchants and offers, enrolled card information (last four digits), available merchant categories, cashback percentages, and pagination details for larger result sets.
    • Unsuccessful request returns HTTP 400 (Invalid request) or 500 (Internal server error) with the ErrorResponse schema.

Get Segments By Card ID

Use this service to retrieve segment details for the specified card ID.

Endpoint details are as follows:

  • HTTP Method – GET
  • URL/von/gor-gateway/gor-eligibility/v1/segment/{userId}/{cardId}
  • Operation ID – getSegmentsByCardLevel

The typical implementation sequence is as follows:

  1. Provide the required userId and cardId in the URL path parameters.
  2. Add optional merchantId query parameter if needed for merchant-specific segment filtering.
  3. Submit GET request.
  4. Process segment response.
    • Successful request returns HTTP 200 (getSegment retrieved successfully) with the SegmentsResponseDto schema containing segments with merchantId, segmentName, and effectiveDate fields.
    • Unsuccessful request returns HTTP 400 (Invalid request) or 500 (Internal server error) with the ErrorResponse schema.

Get Segment By User ID

Use this service to retrieve segment details for the specified user.

Endpoint details are as follows:

  • HTTP Method – GET
  • URL/von/gor-gateway/gor-eligibility/v1/segment/{userId}
  • Operation ID – getSegmentsByCardHolderLevel

The typical implementation sequence is as follows:

  1. Provide the required userId in the URL path parameter.
  2. Add optional merchantId query parameter if needed for merchant-specific segment filtering.
  3. Submit GET request.
  4. Process segment response.
    • Successful request returns HTTP 200 (getSegment retrieved successfully) with the SegmentsResponseDto schema containing segments with merchantId, segmentName, and effectiveDate fields.
    • Unsuccessful request returns HTTP 400 (Invalid request) or 500 (Internal server error) with the ErrorResponse schema.

Get Merchant Ranks for a Card Id

Use this service to retrieve card-specific merchant rank details for a given user and card ID combination.

Endpoint details are as follows:

  • HTTP Method – GET
  • URL/von/gor-gateway/gor-eligibility/v1/merchants/ranks/{userId}/{cardId}
  • Operation ID – getMerchantRanksByCardLevel

The typical implementation sequence is as follows:

  1. Provide the required userId and cardId in the URL path parameters.
  2. Submit GET request.
  3. Process merchant ranking response.
    • Successful request returns HTTP 200 (getMerchantsRanks retrieved successfully) with the SegmentsResponseDto schema.
    • Unsuccessful request returns HTTP 400 (Invalid request) or 500 (Internal server error) with the ErrorResponse schema.

Get Merchant Ranks for a User

Use this service to retrieve user-level merchant rank details for all cards associated with a given user.

Endpoint details are as follows:

  • HTTP Method – GET
  • URL/von/gor-gateway/gor-eligibility/v1/merchants/ranks/{userId}
  • Operation ID – getMerchantRanksByCardHolderLevel

The typical implementation sequence is as follows:

  1. Provide the required userId in the URL path parameter.
  2. Submit GET request.
  3. Process merchant ranking response.
    • Successful request returns HTTP 200 (getMerchantsRanks retrieved successfully) with the SegmentsResponseDto schema.
    • Unsuccessful request returns HTTP 400 (Invalid request) or 500 (Internal server error) with the ErrorResponse schema.

Ledger Service

The Ledger Service provides comprehensive event tracking and analytics capabilities, enabling the capture of user interactions, commission status updates, and dashboard insights for pending and paid events within Visa Offers Network (VON).

This service tracks user engagement and financial transactions across the VON ecosystem, providing detailed event logging for analytics, commission tracking, and consumer dashboard reporting of offer performance and payout status. There are three endpoints supporting comprehensive event lifecycle management from real-time interaction tracking through commission processing to consumer dashboard reporting.

Ledger Add Event

Use this service to send events and user-level details, such as commission status and interactions with merchant offers on the Issuer's application.

Endpoint details are as follows:

  • HTTP Method – POST
  • URL/von/gor-gateway/gor-ledger/v1/event
  • Operation ID – createEvent

The typical implementation sequence is as follows:

  1. Set the optional EX-CORRELATION-ID header for request tracking.
  2. Prepare event data with eventType and eventDateTime.
    Field Type Required Description
    eventType string No Type of event. Enum values are:
    • MERCHANT_VIEW – User viewed a merchant's offer details
    • MERCHANT_REDIRECT – User clicked through to merchant website
    • CLICK – General click events within the application
    • CATEGORY_SELECT – User selected a specific merchant category
    • AVG_TIME_SPENT – Time spent viewing offers or merchant content
    • MERCHANT_WALL_LOAD – Merchant offer wall page loaded
    • BROKEN_LINK – User encountered a broken merchant link
    • SCROLL_DEPTH – User scrolling behavior and engagement depth
    • OFFER_REDEEM – User redeemed an offer or coupon
    • STMT_CREDIT – Statement credit processed for user
    eventDateTime string No Date and time when the event occurred (date-time format)
  3. Add relevant attribute objects based on the event type.
    • userAttributes – User identification and association data. Consists of User ID, tracking code, and external user identifier for user association.
    • merchantAttributes – Merchant identification and context. Consists of merchant identifiers, URLs, and category information.
    • offerAttributes – Offer and promotion tracking data. Consists of offer and coupon identifiers for tracking specific promotions.
    • clickAttributes – User interaction details. Consists of specific UI elements clicked and user input details.
    • stmtCreditAttributes – Financial transaction information. Consists of commission amounts, payout status, transaction details, and statement credit information.
    • couponAttributes – Coupon identification and tracking data. Consists of coupon identifiers for tracking specific coupon usage.
    • issuerAttributes – Issuer application context. Consists of application ID and issuer-specific information.
    • redemptionAttributes – Redemption tracking information. Consists of commission ID and redemption-specific details.
  4. Submit POST request.
  5. Process EventResponse confirmation.
    • Successful request returns HTTP 200 (Event created successfully) with the EventResponse schema.
    • Unsuccessful request returns HTTP 400 (Invalid request) with the ErrorResponse schema or 500 (Internal server error) with the EventResponse schema.

Consumer Dashboard

Use this service to get consumer view dashboard, providing a unified view of user analytics, including total earned, pending, and paid amounts, as well as detailed lists of pending and paid offers and a full transaction history with dates and amounts.

Endpoint details are as follows:

  • HTTP Method – GET
  • URL/von/gor-gateway/gor-ledger/v1/consumer-dashboard
  • Operation ID – getConsumerDashboard

The typical implementation sequence is as follows:

  1. Identify the user using either the userId (user identifier for dashboard data) or trackingCode (tracking code for user identification) query parameter. This endpoint requires no authentication headers.
  2. Set optional date range filters (startDate and endDate) in yyyy-MM-dd format. The dashboard data is filtered to show only transactions and offers within the specified date range. If no dates are specified, all available data is returned.
  3. Submit GET request with query parameters.
  4. Process results with earnings summary and offer details, as well as pending and paid offers with amounts.
    • Successful request returns HTTP 200 (Dashboard details retrieved successfully) with the DashboardResponse schema. The DashboardResponse includes the data structure provided in this table. The total amounts (earned, pending, paid) represent cumulative values across all user transactions and offers within the specified date range or lifetime if no range is provided.
      Field Type Description
      totalEarnedAmount double Total amount earned by the user across all offers
      totalPendingAmount double Total amount pending for the user (not yet paid)
      totalPaidAmount double Total amount already paid to the user
      pendingOffers array List of OfferDetails objects for pending offers with merchant info, amounts, and dates
      paidOffers array List of OfferDetails objects for paid offers with payout details and card information

       

    • Unsuccessful request returns HTTP 400 (Invalid request) with the ErrorResponse schema or 500 (Internal server error) with the DashboardResponse schema.

Ledger Add Event - Generic

Use the Ledger Service generic endpoint to push ledger events to Visa Offers Network (VON). This endpoint requires mapping configuration on VON prior to use. Contact your Visa Implementation Manager to set up the required payload mapping.

Endpoint details are as follows:

  • HTTP Method – POST
  • URL/von/gor-gateway/gor-ledger/generic/transform/v1/event
  • Operation ID – handleGenericRequest

The typical implementation sequence is as follows:

  1. Coordinate with Visa to configure payload mapping for your specific data structure before using this endpoint.
  2. Prepare generic payload object based on your configured mapping requirements.
  3. Submit POST request with generic object payload. The request body must include Content-Type: application/json and contain a generic object structure.
  4. Process generic response.
    • Successful request returns HTTP 200 (OK) indicating the generic payload was processed successfully through the configured mapping.
    • Unsuccessful request returns HTTP 400 (Bad Request) with the ErrorResponse schema.

Payout Service

The Payout Service enables third-party aggregators to send commission details and process statement credits within Visa Offers Network (VON), facilitating cashback and reward fulfillment for enrolled consumers.

This service processes commission payouts and statement credits for consumer cashback rewards, enabling third-party aggregators to submit detailed transaction and commission information for financial settlement within the VON ecosystem. There are two endpoints supporting the complete commission payout lifecycle from transaction capture through financial processing to statement credit issuance.

Payout Request

Use this service to initiate the creation of a commission payout request.

Endpoint details are as follows:

  • HTTP Method – POST
  • URL/von/gor-gateway/gor-payout/v1/payout
  • Operation ID – savePayoutDetails

The typical implementation sequence is as follows:

  1. Set the required clientId header.
  2. Prepare payout data with ID, Type, and Action fields.
    Field Type Required Description
    ID string No Unique partner ID.
    Type string No Specifies the payout type.
    Action string No Specifies the intent of the operation by the third-party aggregator. Different action types specify the intent of the payout operation.
  3. Include detailed payout commission information in the Payload object.
  4. Submit POST request.
  5. Process PayoutResponse with operation status.
    • Successful request returns HTTP 200 (Payout details processed successfully) with the PayoutResponse schema.
    • Unsuccessful request returns HTTP 400 (Invalid request) or 500 (Internal server error) with the PayoutResponse schema.

Payout Request - Generic

Use the Payout Service generic endpoint to take any payload to issue statement credit. This endpoint requires mapping configuration on Visa Offers Network (VON) prior to use. Contact your Visa Implementation Manager to set up the required payload mapping.

Endpoint details are as follows:

  • HTTP Method – POST
  • URL/von/gor-gateway/gor-payout/generic/transform/v1/payout
  • Operation ID – handleGenericRequest

The typical implementation sequence is as follows:

  1. Coordinate with Visa to configure payload mapping for your specific data structure before using this endpoint.
  2. Prepare generic payload object based on your configured mapping requirements.
  3. Submit POST request with generic object payload. The request body must include Content-Type: application/json and contain a generic object structure.
  4. Process generic response.
    • Successful request returns HTTP 200 (OK) indicating the generic payload was processed successfully through the configured mapping.
    • Unsuccessful request returns HTTP 400 (Bad Request) with the ErrorResponse schema.