Visa Mobile

Introduction

Visa Mobile is a virtual wallet allowing consumers to approve their payments in mobile application, without codes or additional verification. The cardholders simply register their Visa card together with their mobile phone number.

Transaction Request

In the first step you need to submit an "ApmSaleTransaction" request including shipping and billing mobile phone number the consumer registered in their Visa Mobile app and "VISA_MOBILE" as payment method type.

The following JSON document represents an example of an initial request:

{
    "requestType": "ApmSaleTransaction",
    "transactionAmount": {
        "total": "5",
        "currency": "PLN"
    },
    "order": {
        "shipping": {
            "name": "John Doe",
            "address": {
                "address1": "123 Main St.",
                "city": "Sandy Springs",
                "region": "Georgia",
                "postalCode": "30303",
                "country": "GB"
            },
            "contact": {
                "mobilePhone": "4470*****0031",
                "phone": "4470****0031"
            }
        },
        "billing": {
            "name": "John Doe",
            "address": {
                "address1": "123 Main St.",
                "city": "Sandy Springs",
                "region": "Georgia",
                "postalCode": "30303",
                "country": "GB"
            }
        }
    },
    "paymentMethod": {
        "type": "VISA_MOBILE"
    }
}

In the API response you receive orderId what you must use in the inquiry request to confirm transaction processing status.

The following JSON document represents an example of a response in a "WAITING" status:

{
    "clientRequestId": "789f42eb-703d-4cb7-9436-8540c62c159f",
    "apiTraceId": "ZK-4pIdZPqssoZMujM50ogAAAuk",
    "ipgTransactionId": "84443792253",
    "orderId": "R-b63c8724-bbad-4c8c-8795-f8b13fd755e2",
    "paymentToken": {
        "reusable": true,
        "declineDuplicates": false
    },
    "transactionTime": 1689237668,
    "transactionAmount": {
        "total": 5.00,
        "currency": "PLN",
        "components": {}
    },
    "transactionStatus": "WAITING",
    "approvalCode": "?:waiting VISA_MOBILE",
    "processor": {
        "referenceNumber": "1148501",
        "responseCode": "200",
        "responseMessage": "SUCCESS"
    },
    "requiredActions": {}
}

In the next step you need to submit an inquiry request using orderId you received in the previous response, to check the transaction status. If the transaction status has not been updated within 5 minutes, the request times-out and the transaction is cancelled.

Inquiry Request

GET https://ipg-online.com/ipgrestapi/v2/services/orders/{orderId}

Once the transactionStatus no longer includes "WAITING" status, the consumer successfully confirmed their identity and transaction is completed.


Want a quick overview?