BANCOMPAT PAY

BANCOMAT Pay is an Italian service that allows consumers to transfer money and buy goods and services. Transactions are online. Consumers can also use BANCOMAT Pay to pay invoices, taxes and so on.

Payment method properties

MarketsIT
Processing currenciesEUR
Consumer currenciesEUR
Settlement currenciesEUR
Authentication methodsREDIRECT
Authentication timeout1 hour
Minimum payment amount0.01 EUR
Maximum payment amountNo limit. Based on the consumer's bank account balance or the individual bank's rules on the transaction limit.
Payment instrumentPASSTHROUGH_WALLET
Recurring paymentsNo
Separate capturesNo
RefundFull - Partial - Multiple
Refund validity12 months
DisputesYes
Sandbox availabilityPPRO mock processor

Make an BANCOMAT PAY payment

Bancomat Pay payments follow our standardized REDIRECT payment flow. We recommend including all relevant settings for any authentication methods you support.

To create an Bancomat Pay payment, you'll need to provide the following data at minimum when calling our payment charges API:

FieldDescription
paymentMethodBANCOMATPAY
amount.valueThe amount to be paid in the smallest units of the currency used.
amount.currencyEUR
consumer.countryThe country where the consumer is shopping
authenticationSettings: REDIRECT
settings.returnUrl
Specify the URL to which the consumer should be redirected after completing the payment.

Redirect Flow

  1. When checking out on the Merchant’s website, the consumer selects the Bancomat pay.
  2. Merchant sends the payment request to PPRO.
  3. PPRO redirects the consumer to a page to enter the mobile number that they used to register with Bancomat pay.
  4. Bancomat pay calls up the Issuer Bank system to check on the validity of the mobile number. If it’s valid the issuer bank so sends a push notification to the consumer’s mobile banking App.
  5. The consumer clicks the notification to activate the App to confirm the payment detail.
  6. The consumer authorises the payment.
  7. The issuer bank checks the amount in the bank account and approve or decline the request.
  8. The payment result is displayed in the App to the consumer and the result notification is sent to PPRO and merchant.

Request

POST /v1/payment-charges

{
  "paymentMethod": "BANCOMATPAY",
  "amount": {
    "value": 1000,
    "currency": "EUR"
  },
  "consumer": {
    "country": "IT"
  },
  "authenticationSettings": [
    {
      "type": "REDIRECT",
      "settings": {
        "returnUrl": "https://www.webshop.com/order-results-page"
      }
    }
  ]
}

Response

You'll receive our standard payment charge response with the available authentication methods:

{
  "id": "charge_Y3JVzvEaJpvG53xd2R2Zt",
  "paymentMethod": "BANCOMATPAY",
  "paymentMedium": "ECOMMERCE",
  "scheduleType": "UNSCHEDULED",
  "instrumentId": "instr_Asu0ig2PXXZSiNrhY44A5",
  "currency": "USD",
  "country": "US",
  "status": "AUTHENTICATION_PENDING",
  "consumer": {
    "country": "US"
  },
  "authenticationMethods": [
    {
      "details": {
        "requestUrl": "https://redirection-target.ppro.com",
        "requestMethod": "GET"
      },
      "type": "REDIRECT"
    }
  ],
  "authorizations": [
    {
      "id": "authz_aPobet0FNZNU1bYqfexFd",
      "amount": 1000,
      "status": "AUTHENTICATION_PENDING",
      "createdAt": "2025-06-21T08:34:20.766Z",
      "updatedAt": "2025-06-21T08:34:20.766Z"
    }
  ],
  "captures": [],
  "refunds": [],
  "voids": [],
  "createdAt": "2025-06-21T08:34:20.114Z",
  "updatedAt": "2025-06-21T08:34:20.766Z",
  "_links": {
    "authorizations": {
      "href": "/v1/payment-charges/charge_Y3JVzvEaJpvG53xd2R2Zt/authorizations"
    },
    "captures": {
      "href": "/v1/payment-charges/charge_Y3JVzvEaJpvG53xd2R2Zt/captures"
    },
    "refunds": {
      "href": "/v1/payment-charges/charge_Y3JVzvEaJpvG53xd2R2Zt/refunds"
    },
    "voids": {
      "href": "/v1/payment-charges/charge_Y3JVzvEaJpvG53xd2R2Zt/voids"
    }
  }
}

Direct Flow

  1. When checking out on the Merchant’s website, the consumer selects the BANCOMAT Pay® button from the methods presented, entering their mobile phone number.
  2. The payment request is sent to PPRO gateway which calls up the BANCOMAT Pay® Platform for the payment initiation.
  3. The BANCOMAT Pay® Platform checks the mobile number is valid and calls up the issuer bank system to make a push notification to the consumer's mobile banking App.
  4. The consumer activates the App and confirms the payment detail.
  5. The consumer authorises the payment.
  6. The issuer bank checks if there's sufficient amount in the consumer's bank account and debits the amount in real time.
  7. The payment result is displayed in the mobile banking APP and the payment notification is sent from Bancomat platform to PPRO and to the merchant.

Request

POST /v1/payment-charges

{
  "paymentMethod": "BANCOMATPAY",
  "amount": {
    "value": 1000,
    "currency": "EUR"
  },
  "consumer": {
    "country": "IT",
    "phone" : "+391234567890"
  },
  "authenticationSettings": [
    {
      "type": "REDIRECT",
      "settings": {
        "returnUrl": "https://www.webshop.com/order-results-page"
      }
    }
  ]
}

Response

You'll receive our standard payment charge response with the available authentication methods:

{
  "id": "charge_Y3JVzvEaJpvG53xd2R2Zt",
  "paymentMethod": "BANCOMATPAY",
  "paymentMedium": "ECOMMERCE",
  "scheduleType": "UNSCHEDULED",
  "instrumentId": "instr_Asu0ig2PXXZSiNrhY44A5",
  "currency": "USD",
  "country": "US",
  "status": "AUTHENTICATION_PENDING",
  "consumer": {
    "country": "US"
  },
  "authenticationMethods": [
    {
      "details": {
        "requestUrl": "https://redirection-target.ppro.com",
        "requestMethod": "GET"
      },
      "type": "REDIRECT"
    }
  ],
  "authorizations": [
    {
      "id": "authz_aPobet0FNZNU1bYqfexFd",
      "amount": 1000,
      "status": "AUTHENTICATION_PENDING",
      "createdAt": "2025-06-21T08:34:20.766Z",
      "updatedAt": "2025-06-21T08:34:20.766Z"
    }
  ],
  "captures": [],
  "refunds": [],
  "voids": [],
  "createdAt": "2025-06-21T08:34:20.114Z",
  "updatedAt": "2025-06-21T08:34:20.766Z",
  "_links": {
    "authorizations": {
      "href": "/v1/payment-charges/charge_Y3JVzvEaJpvG53xd2R2Zt/authorizations"
    },
    "captures": {
      "href": "/v1/payment-charges/charge_Y3JVzvEaJpvG53xd2R2Zt/captures"
    },
    "refunds": {
      "href": "/v1/payment-charges/charge_Y3JVzvEaJpvG53xd2R2Zt/refunds"
    },
    "voids": {
      "href": "/v1/payment-charges/charge_Y3JVzvEaJpvG53xd2R2Zt/voids"
    }
  }
}

Handling the payment result

REDIRECT

  1. After the consumer completes the payment, they are redirected to the returnUrl specified in the payment charge creation request.
  2. Upon redirect back to your site, retrieve the latest payment status by performing a GET /v1/payment-charges/{paymentChargeId}. Use the returned status field to determine and display the final payment outcome to the consumer.
  3. Additionally, webhooks are triggered to notify you of the payment result. This ensures you receive the outcome even if the consumer closes their browser or fails to return to your website.