Skip to main content

Package name

Charge

Generating or applying a payment using any card or digital method.

Revert

Reversing a transaction, returning the money to the original account.

Refund

Refund a related transaction, returning the money to the original account.

Independent refund

Refund an unrelated transaction, returning the money to tapped card.

High-level flow

  1. Client’s app constructs an explicit Intent targeting Payment app and specifies the desired action.
  2. Client’s app launches the Intent with registerForActivityResult(StartActivityForResult).
  3. The user pays (or cancels).
  4. Payment app returns a result Intent with details via setResult(...) and finish().
  5. Client’s app finalizes the order.

Charge Intent Contract

Request action

com.lab4pay.pos.CHARGE

Request parameters

Response

  • Result codes:
    • Activity.RESULT_OK -> The payment app completed normally and returned a valid result Intent. Additional details are provided in the Intent extras.
    • Activity.RESULT_CANCELED -> Payment flow ended unexpectedly (user exited early or app failed before returning a result). No Intent extras are available.
  • Data: An Intent with Response extras

Response extras

Revert Intent Contract

Request action

com.lab4pay.pos.REVERT

Request parameters

Only the most recent SUCCESS transaction performed on the terminal can be reverted.
Reverts are only available for certain payment methods.

Response

  • Result codes:
    • Activity.RESULT_OK -> The payment app completed normally and returned a valid result Intent. Additional details are provided in the Intent extras.
    • Activity.RESULT_CANCELED -> Payment flow ended unexpectedly (user exited early or app failed before returning a result). No Intent extras are available.
  • Data: An Intent with Response extras

Response extras

Refund Intent Contract

Request action

com.lab4pay.pos.REFUND

Request parameters

Only SUCCESS charge transactions can be refunded.
Refund amount must not exceed the remaining refundable amount.
Refunds are only available for supported payment methods.

Response

  • Result codes:
    • Activity.RESULT_OK -> The payment app completed normally and returned a valid result Intent. Additional details are provided in the Intent extras.
    • Activity.RESULT_CANCELED -> Payment flow ended unexpectedly (user exited early or app failed before returning a result). No Intent extras are available.
  • Data: An Intent with Response extras

Response extras

Independent Refund Intent Contract

Request action

com.lab4pay.pos.INDEPENDENT_REFUND

Request parameters

Independent refunds are not linked to a previous charge transaction.
Independent refunds require CARD payment method support on the terminal.

Response

  • Result codes:
    • Activity.RESULT_OK -> The payment app completed normally and returned a valid result Intent. Additional details are provided in the Intent extras.
    • Activity.RESULT_CANCELED -> Payment flow ended unexpectedly (user exited early or app failed before returning a result). No Intent extras are available.
  • Data: An Intent with Response extras

Response extras

Pay-Connect OTP Intent Contract

Request action

com.lab4pay.pos.PAY_CONNECT_OTP

Request parameters

The terminal must not be already paired with Pay-Connect.

Response

  • Result codes:
    • Activity.RESULT_OK -> The payment app completed normally and returned a valid result Intent. Additional details are provided in the Intent extras.
    • Activity.RESULT_CANCELED -> Payment flow ended unexpectedly (user exited early or app failed before returning a result). No Intent extras are available.
  • Data: An Intent with Response extras

Response extras

Example: Android Intent