Copy and pay API is a secure way to easily integrate card acceptance into your website without the need to worry about PCI compliance. 

Updated to this article - change of endpoint:



Current Domain

New Domain


Customer Test (Staging)

Once you have successfully completed the steps outlined above please ensure you have checked all your API calls to have updated/are using the new endpoint

FAQ’s around the Endpoint Change:

  • Are credit card tokens shared between and

    • Yes, this will have no impact on any tokens that have been created or any new tokens.

  • Is the same data shared between the two endpoints? ie. If we did a card authorisation on, would the capture succeed on -

    • Yes, the same data is shared and available. 

  • With regards to transactions we see on BIP, is this data also shared between the two?

    • Yes, it’s the same BIP and Console, there is no difference. 

Deadline - End of June 2022 the current endpoint will be deactivated/redundant

Our javaScript widget is a secure payment form that allows the customer to enter their credit card data in order to process the payment. Card data never touches your server.

Here is the copy and pay documentation: 

Important articles:

Steps to complete Copy and Pay integration:

1) Create a checkout to get the Checkout ID:

In the server to server call, the response has a checkout ID (Highlighted below). THe checkout id is a session id and expires after 30mins. You don't need to store this ID. Use it to initialize the payment widget in step 2 below.

If you need to tokenize the card, add the below parameter in this checkout request:

createRegistration =true

Also, make sure you add a transaction ID in the request:

Please note: the merchantTransactionID must be equal to or less than 16 alphanumeric characters 

For example merchantTransactionId = 123445 or order1234

API reference here: 

2) Use Checkout ID to Initialise our Secure payment Widget:

<script src=""></script>

<form action="" class="paymentWidgets" data-brands="VISA MASTER AMEX"></form>

3) Query Transaction Status:

Once the transaction is completed, you do a GET request to get transaction status and redirect shopper to the shopperResultUrl.

NB: You can only query payment using the checkout ID once

If you add createRegistration =true in the initial checkout request, you should receive a token (Registration id) in the response.

You can use the registration ID for recurring subscriptions using our recurring API or once click payments.

Recurring API docs: Recurring Payments 

One-Click payment docs: One-Click Payments 

If you have further questions, please contact