PAYMENTS
SIMPLIFIED


Offer all the payment features your
customers want with a fast integration
that limits your PCI scope.

GET STARTED

API Base URLs

  • Production Server

    For processing live transactions

    https://api.payjunction.com

  • Test Server

    For development

    https://api.payjunctionlabs.com

Most Commonly Referred to Articles

SMARTTERMINAL_REQUEST Webhook

WEBHOOK SUBSCRIPTIONS ARE LIMITED TO 5 PER PJMID. But a single Webhook can simultaneous track multiple requestI IDs.

For more information on PayJunction account structures, see the PayJunction Account Structures guide.

Provides detailed status information for payment requests to the PayJunction Smart Terminal.

Transaction requests (/request-payment) will return the reference id as a requestPaymentId while all other requests such as signature capture (/request-signature) will return the reference id as a requestId. Regardless of the original request type, the SMARTTERMINAL_REQUEST webhook data object will always reference this id as the requestId.

Example Flow of Completed transaction

Connecting

Connection with the specified Smart Terminal is still pending

{
  "created": "2018-02-20T20:30:01.756Z",
  "data": {
    "requestId": "a178db80-59e3-4e39-a6c7-bf8bab7ebb28",
    "status": "CONNECTING"
  },
  "id": "835a3fe6-a7e2-4872-9206-1ed28c4476e6",
  "type": "SMARTTERMINAL_REQUEST"
}

Busy Terminal

{
  "created": "2018-02-22T17:58:03.744Z",
  "data": {
    "requestId": "ca6a9797-3247-4f1e-9dcb-e053f31f8bb3",
    "status": "BUSY"
  },
  "id": "d50219c3-12f5-4bfe-98bd-d7cca3ac4e14a9",
  "type": "SMARTTERMINAL_REQUEST"
}

In Progress waiting for transactionId

Smart Terminal is performing the requested action.

{
  "created": "2018-02-20T20:30:02.436Z",
  "data": {
    "requestId": "a178db80-59e3-4e39-a6c7-bf8bab44bb28",
    "status": "IN_PROGRESS"
  },
  "id": "c3a0e26f-87f7-46ef-9b0e-15ebbd7e3478",
  "type": "SMARTTERMINAL_REQUEST"
}

In Progress received a transactionId

Now that you have a transactionId, log it and call GET/transactions/{transactionId} to get the details.

  "created": "2018-02-20T20:30:07.935Z",
  "data": {
    "requestId": "a178db80-59e3-4e39-a6c7-bf8bab7ebb28",
    "status": "IN_PROGRESS",
    "transactionId": 10082
  },
  "id": "762611cc-1636-434e-b137-8b148cf249a7",
  "type": "SMARTTERMINAL_REQUEST"
}

At this point you are just waiting for the COMPLETE to know when the Smart Terminal is available again. Post transaction activities such as a signature, email receipt or forgotten card could delay the COMPLETE status.

Transaction Completed

Transaction Request - Complete

{
  "created": "2018-02-20T20:30:07.235Z",
  "data": {
    "requestId": "a178db80-59e3-4e39-a6c7-bf8bab7ebb28",
    "status": "COMPLETE",
    "transactionId": 10082
  },
  "id": "762611cc-1636-434e-b137-8b148cf249a7",
  "type": "SMARTTERMINAL_REQUEST"
}

Example Flow of Canceled transaction

If the transaction is not processed (canceled, timeout, etc), transactionId field will not be present.

In Progress without transactionId

Smart Terminal is performing the requested action.

{
  "created": "2018-02-20T20:30:02.436Z",
  "data": {
    "requestId": "a178db80-59e3-4e39-a6c7-bf8bab44bb28",
    "status": "IN_PROGRESS"
  },
  "id": "c3a0e26f-87f7-46ef-9b0e-15ebbd7e3478",
  "type": "SMARTTERMINAL_REQUEST"
}

Status COMPLETE without a transactionId can be treated as cancelled. 

{
  "created": "2018-02-20T20:30:03.567Z",
  "data": {
    "requestId": "a178db80-59e3-4e39-a6c7-bf8bab44bb28",
    "status": "COMPLETE"
  },
  "id": "c3a0e26f-87f7-46ef-9b0e-15ebbd7e3478",
  "type": "SMARTTERMINAL_REQUEST"
}

Example Flow of non-transaction requests (prompt, signature and input)

Smart Terminal Prompt Request - Complete

{
  "id" : "7afa93f1-2bad-47df-afbe-949fc9c53a09",
  "created" : "2020-10-20T22:07:39.098Z",
  "type" : "SMARTTERMINAL_REQUEST",
  "data" : {
    "requestId" : "77083e4d-0ffe-4be6-b510-79e6da83e99f",
    "promptButton" : "Yes",
    "status" : "COMPLETE"
} }

Smart Terminal Signature Capture Request - Complete

Notice that transaction requests will return a transactionId while signature capture requests return a signatureId.
{
  "created": "2018-09-04T20:30:07.235Z",
  "data": {
    "requestId": "1c1a2db0-4bb5-4f60-96ce-1a66222e5276",
    "status": "COMPLETE",
    "signatureId": "bc84d60dedcd4896918a07a82e76ccb1"
  },
  "id": "762611cc-1636-434e-b137-8b148cf249a7",
  "type": "SMARTTERMINAL_REQUEST"
}

Smart Terminal Input Capture Request - Complete

Notice that transaction requests will return a transactionId while signature capture requests return a inputValue.
{
"id" : "c249222e-d179-403a-8d2d-7a94a1ce1743",
"created" : "2023-05-10T17:51:42.988Z",
"type" : "SMARTTERMINAL_REQUEST",
"data" : {
"requestId" : "0cfb0e74-9957-434d-bb03-59d8d572edaa",
"inputValue" : "8006010230",
"status" : "COMPLETE"
}