Quick Start Guide for Developers

Navigate to...
keyboard_arrow_down

tools

This guide walks you and your fellow developers through step-by-step details on how to start developing a new project on Visa Developer. It also lists the various resources and assets available to you to quicky get started.


Quick Start Guide for Visa Developer

Introduction

Visa Developer offers a set of Application Programming Interfaces (APIs) that can give you the ability to incorporate Visa functionality into your projects. This guide describes how to create an account, get credentials to start building your test project and how to connect to the sandbox, certification or production environment for testing your project. There's a variety of APIs that you can use to build your project. Let’s get started!

Resources and Assets

The Visa Developer Platform offers a variety of resources and assets so you can quickly start working with our APIs.

Products and Use Cases

Check out Browse All Products to view a complete list of APIs and SDKs available on Visa Developer or visit Use Cases to see real-world examples of how our solutions  can solve your needs. 

We have a wide collection of product documentation, platform general documentation, standards and guidelines, etc. to help you learn about our products and platform.

Code Explorer

Our Code explorer will allow you to start testing code. You can view Code Explorer by navigating to the product API Reference page and see the Request and Sample Response.

Sandbox

Our Sandbox is a fully functional environment that allows you to test publicly available API endpoints. To help you develop and test your project, the Sandbox provides you with testing data. Note that the data returned in Sandbox is mock data only and limited. For real data, you would need to request production credentials (subject to an agreement or sponsorship and approvals). 

Sample Code

Visa Developer provides a selection of product specific sample code for you to use to help accelerate your development. This sample code is in C#, Java, Node, PHP, Python and Ruby.

You can use the samples provided within the Project Dashboard > Sample Code to select, preview, and implement one or more samples into your development projects.

Assets

Additionally, there are SDKs, detailed implementation guides, integration guides, etc., that you can download from the Project Dashboard > Assets. You simply need to first sign in with your Visa Developer credentials.

Sample Code for Authentication Methods

The “Hello World” sample code aims to demonstrate the connectivity with the Visa Network using the Hello World API and using the two ways of authentication - Two-Way SSL (Mutual Authentication) And API Key – Shared Secret (X-Pay-Token).

Once you sign in with your Visa Developer credentials., you can download these sample codes from the Project Dashboard > Assets.

JWE/JWS Encryption and Decryption

The JSON Web Encryption and Object Signing (JWE/JWS) page describes the mechanism which Visa uses to encrypt and decrypt sensitive data.

Once you sign in with your Visa Developer credentials, Sample Code for the JWE/JWS implementation is available under the Sample Code section of the General Assets in the Project Dashboard.

Error Codes

To learn more about the common Visa Developer error codes and how to resolve them, refer to Error Codes documentation.

Community Forums

You can ask questions directed at Visa experts, discuss development topics with peer developers or find the latest tutorials plus more, by signing up to be part of our Visa Developer Community.

Help and Support

For any additional help and support, you can visit our Support page or send your queries directly to [email protected].

Create Account

Create a Visa Developer account by clicking here. Whether you know what APIs you are interested in, or you need help picking, visiting our product overview pages, and use cases is a great way to get started. By creating an account, you will get access to a secure sandbox environment, test data and sample code to help you make your decision on what API is right for your use case, or to test to ensure the API is actually giving you the right test responses.

Request Access

Some products are restricted on Visa Developer. If you find that you are unable to access a particular product or document, please email [email protected] to request access. Visa Developer Customer Support will aim to respond to your request in 24-48 hours, but response time may be delayed.

Start Project

Start a project by adding as many APIs as you like, just keep in mind some APIs don’t work together. And some APIs are only available to certain types of users. Each product overview page lists the availability for later reference. You may also refer to Regional Availability to view availability details of all products and see if the products and APIs you are interested to use in your project are available in your region.

Refer to Create a Project for more details.

Authenticate

All of our APIs require Two-Way SSL or X-Pay Token authentication. Learn what authentication code you need for your project based on the APIs you are using. We have both tips and tricks, as well as sample code to get you going with both Two-Way SSL or X-Pay Token methods. You can access the Credentials from the sidebar of  your project dashboard.

Refer to Two-Way SSL or X-Pay Token dcumentation for more details.

Visa Developer also provides the “Hello World” sample code that aims to demonstrate the connectivity with the Visa Network using the Hello World API and using the authentication method - Two-Way SSL (Mutual Authentication) and API Key – Shared Secret (X-Pay-Token).

Once you sign in with your Visa Developer credentials., you can download these sample codes from the Project Dashboard > Assets

Certificate Expiration

For all Two-Way SSL (Mutual Authentication) projects, inbound credentials have an expiration date. Once it is about to expire,  you can request a new set of credentials by navigating to the "Credentials" screen in your dashboard and selecting "Generate New Credentials". At this point you'll be guided through the workflow to request a certificate. You can have Visa Developer generate a CSR for you (default) or submit your own CSR. Refer to the Create a Project section for details. Once the new credentials are generated, you will see two set of credentials in you dashboard. Credentials include certificate, user Id and password. You must use the complete credential set in order to proceed with the next steps.

Note: Old credentials will continue to work till the expiration date. After the expiration date, it will not show up in the dashboard and will stop working. 

Visa Developer PKI

An X.509 Public Key Infrastructure (PKI) is implemented by Visa for issuing and managing digital certificates to be used in conjunction with Visa products and services. This PKI consists of a hierarchy of entities called CAs that issue certificates to “Subscribers” (that is, end-entities or other CAs) within the hierarchy. The term Visa PKI is used to refer to all of the Subscribers from the root CA all the way down to the lowest level end-entity.

Refer to Visa Developer PKI for a complete list of the Visa Developer Platform public certificates used to identify Visa API endpoints.

Outbound Configuration

Outbound Configurations are required if you would like receive payloads from Visa. In order to configure the same, please follow the steps below:

  1.  Click on the Configurations in the sidebar of your project dashboard.
  2.  Add a website path and domain for Visa to review.
  3. Ensure your endpoint is signed by one of our Trusted Certifying Authorities
  4.  Once approved, you can perform ping tests to test the payload of the configuration.
  5.  You can also deactivate the configuration if needed at any time via the same area in your dashboard.

Refer to Outbound Configurations documentation for more details.

Message Level Encryption

Message Level Encryption provides an enhanced end-to-end security for message payload by using asymmetric encryption technique (public-key cryptography). Some of our products also require message level encryption which is a process similar to getting other credentials.

Refer to Message Level Encryption documentation for more details.

Going Live

Once you are ready to promote your project from the sandbox to the certification or production environment, you may initiate the process to go live and commercialize your project. To submit your project to Visa for review and approval, and to request product pricing and a contract, simply go to the dashboard and select Going Live. The dashboard walks you through the detailed steps and processes to complete the application for the credentials for your project. Based on your profile and your project’s use case, you will be asked to provide specific details that will help Visa evaluate your request and provide you with commercial terms and pricing for the Visa capabilities that you identified for your project.

Once your Visa Developer Project is fully promoted to the certification or production environment and you want to use additional Visa APIs, you can use Add APIs feature to promote the newly added APIs. Simply add the new Visa APIs in sandbox of your fully promoted project and once you are ready to promote your newly added APIs from the sandbox to the certification or production environment, initiate the process for going live and to commercialize your project.

Refer to Going Live With Visa Developer Project for more details.

Project Testing and Production Validation

Once you have integrated the credentials into your project, you are all set to begin the testing and/or the production validation processes.

Testing in Certification Environment

Certification environment end point: https://cert.api.visa.com/<URI>

Credentials

Mutual Auth


  1. Private Key: This is the key you had generated at the time of submitting CSR file in Certification environment.
  2. Public Key: Download Project Certificate from the Project Dashboard > Certification > Credentials section.
  3. Basic Authentication Credentials: Download from the Project Dashboard > Certification > Credentials section.

Testing Mutual Auth connection using Postman

X-Pay-Token


  1. API Key: Get the API Key from Certification environment.
  2. Shared Secret: Get the Shared Secret from Certification environment.
  3. Set up Public Key for Encryption/Decryption

Refer to the X-Pay Token Guide for more details.

Testing X-Pay-Token Connection Using SOAP UI or VDC Playground

SOAP UI

Visa Developer Center Playground

Visa Developer Center Playground (VDC Playground) is a tool designed exclusively for testing and troubleshooting Visa APIs that are exposed through the Visa Developer Platform (VDP). It comes integrated with all required authentication methods to connect and get going with VDP APIs.

Refer to Visa Developer Center Playground documentation for more details.

Testing in Production Environment

Production environment end point: https://api.visa.com/<URI>

Credentials

Mutual Auth

  1. Private Key: This is the key you had generated at the time of submitting CSR file in Production environment.
  2. Public Key: Download Project Certificate from the Project Dashboard > Production > Credentials section.
  3. Basic Authentication Credentials: Download from the Project Dashboard > Production > Credentials section.

Testing Mutual Auth connection using Postman

X-Pay-Token

  1. API Key: Get the API Key from Production environment.
  2. Shared Secret: Get the Shared Secret from Production environment.
  3. Set up Public Key for Encryption/Decryption

Refer to the X-Pay Token Guide for more details.

Testing X-Pay-Token Connection Using SOAP UI or VDC Playground

Hello World End Point: https://api.visa.com/vdp/helloworld

SOAP UI

Visa Developer Center Playground

Visa Developer Center Playground (VDC Playground) is a tool designed exclusively for testing and troubleshooting Visa APIs that are exposed through the Visa Developer Platform (VDP). It comes integrated with all required authentication methods to connect and get going with VDP APIs.

Refer to Visa Developer Center Playground documentation for more details.