Visa Mobile

📘

Please note, that this payment method is available in Poland only.

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.

Integration

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.

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?