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

Documentation Change Log

07/08/2024

UPDATED: POST /invoices

  • Added a new notification type of TEXT to allow sending of invoices as a text message.
  • Added a new notification type of BOTH to allow sending of invoices as both an email and a text message.

02/20/2024

UPDATED: POST /smartterminals/{smartTerminalId}/request-payment

  • Added a new showDebitCreditPrompt parameter to prompt the customer to choose a specific processing network (Debit or Credit). Available if the Account supports PIN Debit.

06/03/2022

UPDATED: POST /invoices

  • Added new hostedInvoiceUrl parameter to response to allow integrators to send customers directly to the payment page after creating the invoice.
  • Added new notificationType parameter to allow integrators to prevent the PayJunction API from triggering an email notification to the customer when creating an invoice.

05/16/2022

ADDED: Tracking Recurring Payments

  • A guide describing the various developer strategies for tracking recurring payments via the PayJunction API and webhooks.

05/05/2022

UPDATED: PUT /schedules/{scheduleId}

  • Added new Payment Update parameters so that the payment method of an existing schedule can be changed.

05/04/2022

ADDED: POST /smartterminals/{smartTerminalId}/request-read

  • Initiate a request on the selected Smart Terminal to read the magnetic stripe from a non-financial card.

04/28/2022

ADDED: POST /smartterminals/{smartTerminalId}/request-input

  • Documents how to send an Input Request to a Smart Terminal to collect an input value from the customer.

UPDATED: SMARTTERMINAL_REQUEST Webook

  • Added example of completed Input Request.

UPDATED: GET /smartterminals/requests/{requestId}

  • Added example of completed Input Request.

04/20/2022

UPDATED: POST /schedules

  • Added new Schedule Type Field for intervalCap.

UPDATED: PUT /schedules/{scheduleId}

  • Added new Schedule Type Field for intervalCap.

03/11/2022

ADDED: GET /publishablekeys

  • Allows integrations to retrieve created publishable keys.

03/03/2022

ADDED: PUT /schedules/{scheduleId}

  • Allows integrations to update existing payment schedules.

02/17/2022

UPDATED: GET /transactions/{query-parameters}

  • Corrected invoiceNumber parameter length to 32.
  • Added purchaseOrderNumber to list of of query parameters.

01/21/2022

UPDATED: PayJunction JavaScript SDK

  • Added new PaymentData properties for tokenizing ACH information.

UPDATED: JavaScript Tokenization Examples

  • Added Example 3: Process an ACH transaction.

12/21/2021

UPDATED: GET /customers/{customerId}

  • Updated example response to accurately reflect returned data for this API endpoint.

ADDED: POST /publishablekeys

  • Create new publishable keys for JavaScript Tokenization.

11/02/2021

ADDED: POST /schedules/{scheduleId}/pause

  • Documentation for pausing an existing schedule.

ADDED: POST /schedules/{scheduleId}/activate

  • Documentation for activating an existing schedule.

ADDED: POST /schedules/{scheduleId}/delete

  • Documentation for deleting an existing schedule.

10/22/2021

ADDED: JavaScript Tokenization Introduction

  • Introduction to tokenizing card data using PayJunction's JavaScript SDK library.

ADDED: PayJunction JavaScript SDK

  • Instructions for using PayJunction's JavaScript SDK library to securely tokenize sensitive customer information on the web.

ADDED: JavaScript Tokenization Examples

  • Client-side and server-side examples of securely collecting a customer's card information and using tokens.

ADDED: JavaScript Tokenization Demo

  • Demonstration of JS tokenization with client-side HTML/CSS/JS code included.

08/18/2021

ADDED: POST /transactions/{transactionId}level3

  • Documents the new Level 3 Data API. Allows integrations to add Level 3 data to qualifying transactions.

ADDED: GET /transactions/{transactionId}level3

  • Allows integrations to retrieve all existing Level 3 data for a specific transaction.

ADDED: DELETE /transactions/{transactionId}level3

  • Allows integrations to delete all existing Level 3 data for a specific transaction.

06/29/2021

UPDATE: GET /transactions/{query-parameters}

  • Added status to the list of query parameters available for the Transaction Search API.

04/06/2021

UPDATE: Transaction Response Codes

  • Added missing transaction response codes 91 - No Reply and CR - Chip Card Removed.

04/02/2021

UPDATE: GET /transactions/{query-parameters}

  • Added startDate to the list of query parameters available for the Transaction Search API.
  • Added endDate to the list of query parameters available for the Transaction Search API.

03/22/2021

UPDATE: GET /transactions/{query-parameters}

  • Added amountTotal to the list of query parameters available for the Transaction Search API.

03/09/2021

ADDED: PUT /settings

  • Documents the new Merchant Settings API. This allows integrators to make changes to how certain functionality is handled, specifically whether or not PayJunction will automatically create and manage Customer profiles.

02/19/2021

ADDED: GET /transactions/{query-parameters}

  • Documents the new Transaction Search API.

02/09/2021

UPDATE: GET /transactions/{transactionId}

  • Added INVOICE to the service field values that can be returned for a transaction.

02/02/2021

UPDATED: Transaction Response Codes

  • Added FA decline code

11/03/2020

ADDED: POST /smartterminals/{smartTerminalId}/request-prompt

  • Documents how to send a Prompt Request to a Smart Terminal to solicit feedback from the user.

UPDATED: SMARTTERMINAL_REQUEST Webook

  • Added example of completed Prompt Request

UPDATED: GET /smartterminals/requests/{requestId}

  • Added example of completed Prompt Request

08/20/2020

UPDATED: PUT /customers/{customerId}/vaults/{vaultId}

UPDATEDPOST /transactions

UPDATEDPOST /customers/{customerId}/vaults

UPDATEDPUT /transactions/{transactionId}

  •  Removed TEL option for achType field.

07/22/2020

UPDATED: POST /smartterminals/{smartTerminalId}/request-payment

  • Added FORCE option for keyed field which sends a Smart Terminal directly into keyed entry mode.

06/25/2020

UPDATED: POST /customers/{customerId}/vaults/

  • Added the Prior Transaction section listing parameter to add an existing transactionId as a new vault on an existing Customer.

05/04/2020

UPDATED: ZeroTouch Smart Terminal Updates

  • Added the allowTips field setting for ZeroTouch mode.
  • Updated note to state that the settings for Smart Terminals in the VT will be the default behavior unless explicitly overridden by the integration.

UPDATED: POST /smartterminals/{smartTerminalId}/request-payment

  • Added allowTips field.
  • Updated showSignaturePrompt and showReceiptPrompt descriptions to note that the default behavior is now to use the settings in the PayJunction VT.

04/21/2020

UPDATED: API Versions

  • Added API Version 2020-04-13

UPDATED: GET /transactions/{transactionid}

  • Added tip at top of page for new service field returned in transaction details.
  • Added section describing all available service values and what they represent.

UPDATED: POST /transactions

  • Added service to example transaction response detail
  • Added note that service will only be returned when using API version 2020-04-13 or newer

UPDATED: PUT /transactions/{transactionId}

  • Added service to example transaction response detail
  • Added note that service will only be returned when using API version 2020-04-13 or newer

03/23/2020

ADDED: Hosted Payments Advanced Integration Guide

  • A full guide on integrating the PayJunction Hosted Payments service for taking keyed transactions for integrators looking to avoid directly touching sensitive card data and reducing their PCI scope.

ADDED: TRANSACTION Webhook

  • Article specifically for the new TRANSACTION webhook subscription.

UPDATED: Available Webbhooks

  • Added information for new TRANSACTION webhook subscription option.
  • Updated SMARTTERMINAL_TRANSACTION description to clarify differences with new TRANSACTION webhook.

UPDATED: POST /webhooks

  • Added information for new TRANSACTION webhook subscription option.
  • Updated SMARTTERMINAL_TRANSACTION description to clarify differences with new TRANSACTION webhook.

UPDATED: SMARTTERMINAL_REQUEST and TRANSACTION / SMARTTERMINAL_TRANSACTION Webhook Differences

  • Updated name to include TRANSACTION.
  • Added information for new TRANSACTION webhook subscription option.
  • Updated SMARTTERMINAL_TRANSACTION description to clarify differences with new TRANSACTION webhook.

03/20/2020

ADDED: ZeroTouch Smart Terminal Updates

  • Lists the parameters required in API requests to use a Smart Terminal in ZeroTouch mode

03/17/2020

UPDATED: POST /smartterminals/{smartTerminalId}/request-payment

  • Added new field showSignaturePrompt to allow integrations to disable signature requests on a per-transaction basis as part of our changes to minimize physical interactions with the Smart Terminal in light of COVID-19.

02/20/2020

UPDATED: POST /transactions/{transactionId}/receipts/latest/email

  • Added warning block to clarify that requestSignature will only create a new remote signature request if the transaction is not already signed.
  • Added info block to promote the independent signature capture functionality of the PayJunction Smart Terminal for collecting signatures outside of the transaction authorization process.

12/30/2019

UPDATED: API Versions

  • API version updated to the correct version 2019-12-09 from incorrect version 2019-12-06

UPDATED: GET /transactions/{transactionId}

  • API version updated to the correct version 2019-12-09 from incorrect version 2019-12-06

12/18/2019

UPDATED: API Versions

  • Added API version 2019-12-06

UPDATED: GET /transactions/{transactionId}

  • Updated NOT_REQUIRED_PIN to NOT_REQUIRED for signatureStatus value to align with latest API version 2019-12-06
  • Added warning explaining that prior API versions for signatureStatus used NOT_REQUIRED_PIN instead of the current NOT_REQUIRED value

12/05/2019

UPDATED: POST /smartterminals/{smartTerminalId}/request-signature

  • Added a description of the webhook event type used for signature requests on Smart Terminals near top of page.
  • Added Example Status Responses section showing the state progression of a signature request to end of page.

10/28/2019

UPDATED: POST /smartterminals/{smartTerminalId}/request-payment

  • Added warning note explaining that keyed transactions on a Smart Terminal will not auto-decline for AVS mismatch until a future update is made.

10/14/2019

ADDED: What should I log if I need support from PayJunction?

  • Describes best practices for timestamps as well as the important HTTP headers to log when submitting PayJunction developer support requests that include log data.

09/12/2019

UPDATED: API Versions

  • Added note that keyed transactions on Smart Terminals are tied to API version 2019-07-30

UPDATED: POST /smartterminals/{smartTerminalId}/request-payment

  • Updated tip at top of page to include required API version for keyed transactions on Smart Terminals

08/09/2019

ADDED: Cancel Payment From Smart Terminal

  • Describes the new cancel functionality added by API version 2019-07-30 to the Smart Terminal

UPDATED: API Versions

  • Added version 2019-07-30 with warning messages for integrators still using SMARTTERMINAL_TRANSACTION webhook subscription for Point-of-Sale workflows.

07/25/2019

UPDATED: SMARTTERMINAL_TRANSACTION webhook

  • Updated text and added tip to clarify the proper usage for this webhook subscription

07/23/2019

UPDATEDPOST /smartterminals/{smartTerminalId}/request-payment

  • Added tip stating that keyed card entry on the Smart Terminal is now supported
  • Added keyed to parameter list

07/03/2019

UPDATEDPOST /smartterminals/{smartTerminalId}/request-payment

  • Added note stating that refunds are now supported on the Smart Terminal
  • Added note warning integrators to read the refund documentation notes before implementing refunds on Smart Terminals
  • Added action to parameter list

UPDATED: Refunding and Voiding Transactions

  • Added note stating that refunds are now supported on the Smart Terminal

06/26/2019

ADDED: Level 2 Data

  • Describes the data required to qualify transactions for the Level 2 Data discount for B2B transactions under Interchange pricing.

UPDATED: Documentation Change Log

  • Tweaks to layout and formatting for style consistency

06/05/2019

UPDATED: POST /smartterminals/{smartTerminalId}/request-payment

  • Added note clarifying what should the showReceiptPrompt parameter be used for.

05/06/2019

UPDATED: Available Webhooks

  • Added note clarifying that webhook data payloads can be received twice for the same request even if an HTTP success response (code 200) was sent back by the receiver.

05/03/2019

UPDATED: Transaction Response Codes

  • Updated to reflect that an amount to trigger a decline with transaction status code 55 is forthcoming at a future date in the PayJunctionLabs sandbox.
  • Corrected amount .35 to state this amount generates an HTTP error with status 403 instead of a normal decline response code in the PayJunctionLabs sandbox.

04/23/2019

UPDATEDGET /transactions/{transactionId}

  • Updated the section Available Results for "signatureStatus" Response to reflect that the NOT_REQUIRED_PIN status will also now be returned when transactions fall below the limit specified by the card brand association for collecting either a PIN or signature verification.

04/03/2019

UPDATEDGET /smartterminals/requests/{requestId}

  • Removed BETA notice for this API endpoint
  • Updated tip at top of page to note this endpoint can be used with the Signature Request API as well as payments.

12/04/2018

UPDATED:POST /customers/{customerId}/vaults

  • Removed WEB as a valid option for the achType parameter.

11/26/2018

UPDATED:POST /customers/{customerId}/vaults

  • Added note stating that the maximum number of vaults per customer is 50.

UPDATED:GET /customers/{customerId}/vaults

  • Adjusted wording on Pagination note at top of document to state that pagination will only be triggered on this endpoint if the limit parameter is used with a value less than 50.

UPDATED:POST /customers/{customerId}/addresses

  • Added note stating that the maximum number of addresses per customer is 50.

UPDATED:GET /customers/{customerId}/addresses

  • Adjusted wording on Pagination note at top of document to state that pagination will only be triggered on this endpoint if the limit parameter is used with a value less than 50.

9/25/2018

ADDED:GET /deposits/?offset={index}

  • Fetch a paginated array of deposit information

ADDED:GET /deposits/{depositId}

  • Fetch the details for a specific deposit

9/7/2018

The following updates were made to better clarify the difference in behavior between API version 2018-06-19 and all prior versions as well as to promote the new SMARTTERMINAL_REQUEST webhook subscription:

UPDATED: POST /smartterminals/{smartTerminalId}/request-payment

  • SMARTTERMINAL_REQUEST webhook example is now the default example

UPDATED: SMARTTERMINAL_REQUEST Webhook

  • Added versioning information to Busy Terminal section
  • Added signature capture webhook payload example
  • Added tip to point out that SMARTTERMINAL_REQUEST always references the original request id as the requestId even though payment requests return this id as the requestPaymentId

UPDATED: Transaction Processing Workflow

  • Added note pointing out that payment requests return requestPaymentId while other Smart Terminal requests return this as requestId
  • Updated the Webhook Workflow section to use SMARTTERMINAL_REQUEST as the default example.
  • Added example signature capture webhook payload

UPDATED: SMARTTERMINAL_REQUEST and SMARTTERMINAL_TRANSACTION Webhook Differences

  • Added versioning details for behavior prior to API version 2018-06-19

8/30/2018

UPDATEDGET /settlements/{settlmentId}

  • Added missing REJECT status in the Breakdown Format table. 

8/29/2018

ADDEDGET /settlements/{settlmentId}

  • Get a breakdown of transactions for a specific settled batch.

ADDED: GET /settlements/?offset={index}

  • Get a list of all previously settled batches.

8/2/2018

ADDED: Pagination

  • Documents pagination behavior of GET endpoints which return multiple records

UPDATED: All GET endpoints which return multiple records

  • Added warning of pagination behavior with link back to Pagination article

7/17/2018

ADDED: POST /smartterminals/{smartTerminalId}/request-signature

  • Send a signature request to a selected Smart Terminal.

ADDED: GET /smartterminals/signatures/{signatureId}/image

  • Get the signature image that was captured by Smart Terminal.

UPDATEDGET /smartterminals/requests/{requestId}

  • Returns the status of a Smart Terminal request returned by Smart Terminal payment requests AND Smart Terminal signature requests.

6/27/2018

ADDED: API version 6-19-2018 to API versions document

UPDATED: Testing for Busy or Offline Smart Terminal.

06/13/2018

UPDATED: GET /terminals documentation now conforms to 2018-06-01 API version

ADDEDGET /terminals *Pre-2018-06-01* added to documentation archive.

06/07/2018

ADDED: API Change Log

ADDED: Section - Documentation Changes & Previous Versions