Magic Merchant Presented Data

Automatic API responses.

    /authorisation_update, /authorise_payment
  • AUTHORISATION_PENDING
    Immediately responds with AUTHORISATION_PENDING, requires manual authorisation
  • AUTHORISED
    Immediately responds with AUTHORISED
  • NOT_AUTHORISED
    Immediately responds with NOT_AUTHORISED
  • AUTHORISED_after_?s
    Immediately responds with AUTHORISATION_PENDING, then AUTHORISED after ? seconds.
  • NOT_AUTHORISED_after_?s
    Immediately responds with AUTHORISATION_PENDING, then NOT_AUTHORISED after ? seconds.
    /capture_payment, /capture_update
  • CAPTURE_PENDING
  • CAPTURED
  • CAPTURED_after_?s
    (authorisation|capture|cancel)_(pending|approved|declined) (acquirer scheme)
  • capture
  • cancel
  • capture_after_?s
  • cancel_after_?s
🪄 Magic Codes 🪄

For testing only. Empsa simulator has builtin "magic" behaviours. These behaviours can be triggered by adding "magic codes" to either Merchant Presented Data or Consumer Reference Token. Multiple magic codes can be chained together using URL query syntax.

Example Merchant presented data:
https://foobar.dev/1/m/oa/?oa=non_existing_qr_payload&magic_authorise=AUTHORISED&magic_capture=CAPTURED_after_5s

Example Consumer Reference Token:
1953ac-&magic_authorise=AUTHORISED&magic_capture=CAPTURED_after_5s


magic_authorise defines the response behaviour when Issuer responds to authorising payment.

magic_cancel defines the response behaviour when Issuer responds to cancelling payment.

magic_capture defines the response behaviour when Issuer responds to capturing payment.

magic_release defines the response behaviour when Issuer responds to releasing payment.

magic_refund defines the response behaviour when Issuer responds to authorising refund.

Copy&paste following magical codes as Merchant Presented Data query params

  • &magic_authorise=AUTHORISATION_PENDING
    Default scenario
    Immediately responds with AUTHORISATION_PENDING, requires manual authorisation
  • &magic_authorise=AUTHORISED
    Immediately responds with AUTHORISED
  • &magic_authorise=NOT_AUTHORISED
    Immediately responds with NOT_AUTHORISED
  • &magic_authorise=AUTHORISED_after_?s
    Immediately responds with AUTHORISATION_PENDING, then AUTHORISED after ? seconds
  • &magic_authorise=NOT_AUTHORISED_after_?s
    Immediately responds with AUTHORISATION_PENDING, then NOT_AUTHORISED after ? seconds
  • &magic_cancel=CANCELLATION_PENDING
    Default scenario
    Immediately responds with CANCELLATION_PENDING, requires manual cancel
  • &magic_cancel=CANCELLED
    Immediately responds with CANCELLED
  • &magic_cancel=CANCELLED_after_?s
    Immediately responds with AUTHORISATION_PENDING, then CANCELLED after ? seconds
  • &magic_capture=CAPTURE_PENDING
    Default scenario
    Immediately responds with CAPTURE_PENDING, requires manual capture
  • &magic_capture=CAPTURED
    Immediately responds with CAPTURED
  • &magic_capture=CAPTURED_after_?s
    Immediately responds with CAPTURE_PENDING, then CAPTURED after ? seconds
  • &magic_release=RELEASE_PENDING
    Default scenario
    Immediately responds with RELEASE_PENDING, requires manual release
  • &magic_release=NOT_AUTHORISED
    Immediately responds with NOT_AUTHORISED
  • &magic_release=NOT_AUTHORISED_after_?s
    Immediately responds with RELEASE_PENDING, then NOT_AUTHORISED after ? seconds
  • &magic_refund=AUTHORISATION_PENDING
    Default scenario
    Immediately responds with AUTHORISATION_PENDING, requires manual refund authorisation
  • &magic_refund=AUTHORISED
    Immediately responds with AUTHORISED
  • &magic_refund=NOT_AUTHORISED
    Immediately responds with NOT_AUTHORISED
  • &magic_refund=AUTHORISED_after_?s
    Immediately responds with AUTHORISATION_PENDING, then AUTHORISED after ? seconds
  • &magic_refund=NOT_AUTHORISED_after_?s
    Immediately responds with AUTHORISATION_PENDING, then NOT_AUTHORISED after ? seconds
  • &magic_capture_refund=CAPTURE_PENDING
    Default scenario
    Immediately responds with CAPTURE_PENDING, requires manual capture
  • &magic_capture_refund=CAPTURED
    Immediately responds with CAPTURED
  • &magic_capture_refund=CAPTURED_after_?s
    Immediately responds with CAPTURE_PENDING, then CAPTURED after ? seconds