SCAN_CODE

The SCAN_CODE method involves displaying a QR code or barcode that the consumer scans with their mobile device to authenticate the payment. This flow is particularly popular for QR code to mobile handoff, starting on desktop or in-store terminal and continuing on mobile.

There are no required authenticationSettings for the SCAN_CODE authentication type.

If the payment method you are using allows merchants to customize the code expiry time, you can set this value using the scanBy field.

Request

//...
  "authenticationSettings": [
    {
      "type": "SCAN_CODE",
      "settings": {
        "scanBy": "2025-03-26T20:24:27Z"
      }
    }
  ]
//...

Response

{...
  "authenticationMethods": [
    {
      "type": "SCAN_CODE",
      "details": {
      	"codePayload": "upiGlobal://start_tx?id=abc&amount=100&currency=USD&from=QR",
        "codeImage": "https://qr.ppro.com/image.png?payload=aWQ9YWJjJmFtb3VudD0xMDAmY3VycmVuY3k9VVNEJmZyb209UVI",
        "codeDocument": "cdn.ppro.com//linktocodedocument",
        "scanBy": "2023-03-26T20:24:27Z",
        "codeType": "QR"
      },
    }
  ]
...}
  • codePayload is the content the partner can use to render the code image on their side.
  • codeImage is the code already rendered as a PNG image for convenience.
  • codeDocument is a link to a document in which the code is displayed to the consumer. Only used by some payment methods (e.g. OXXO or Boleto vouchers)
  • scanBy contains the ISO 8601 format timestamp at which the code authentication expires. If you set a custom value using the authenticationSettings field above, your custom time will be reflected here. If not, it will generate a default value according to the payment method being used.
  • codeType Enum describing the type of code that should be used to render the code image from the payload. Possible values: QR, UPC, ITF, CODE128