Setup Test Account

We don't require you to create an account to get started with your integration with our system. You can get started now using the details below to access our test servers.

Public Test Credentials

These credentials are shared with anyone wishing to test their implementations, as such they could be revoked at any time. Also other users will be creating access tokens so if passing a merchantTransactionId please ensure it is unique.

JWT
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJjb25uZWN0LWUtZGV2QGFwcHNwb3QuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImF1ZCI6Imh0dHBzOi8vZS50ZXN0LmNvbm5lY3QucGF5bWVudHNlbnNlLmNsb3VkIiwiZXhwIjoyMzgzMDQ4NDAxLCJpYXQiOjE2MjYxODQ0MDEsInN1YiI6ImNvbm5lY3QtZS1kZXZAYXBwc3BvdC5nc2VydmljZWFjY291bnQuY29tIiwiYXBpS2V5IjoiMTM3ODQyOGMtYTMxNC00NTA5LWFjYTEtNmRhY2EzNGNiM2QyIiwiZW1haWwiOiJjb25uZWN0LWUtZGV2QGFwcHNwb3QuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9.IKX_Kou8grA5_UTkiC4wREq8yYL4gj1W9UG6lXArlm_DQiv1eL26kMfsbzN3dfUWO-H7BJHs8zMX-EN2fXocNq16aUTrdLHtSczVSLbt8kizHcVsOMYotW3syw897vpXJBDe2xWihKMBrr6P1uBFKnx_bDeMR67wvE3-5XIh_zV9hteFneuN9QmEW-QyGEJ9RpyKwrpGKU60SPYM1WO_6L72CgkxSATLwHThsEnUQCsZoOZc058lHzjyVww0T_y7QLYsooXQo2WJy5TIunE3xjf6srZnE6yeQu_0wouUJ_m64y9lmlUNXGzAzNvmgfnDZ1IqhWdfVDiIE6ZOa__H4w
MerchantUrl
www.example.com

We recommend setting up your own test credentials. This is more secure will allow us to configure your account to be a closer match to your produciton configuration. To setup a test account send an email to gatewaysupport@paymentsense.com containing the following information

See the examples below on how to create an access token. The id returned can then be passed to your JavaScript to render the payment form.

curl -X POST \
  https://e.test.connect.paymentsense.cloud/v1/access-tokens \
  -H 'authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJjb25uZWN0LWUtZGV2QGFwcHNwb3QuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImF1ZCI6Imh0dHBzOi8vZS50ZXN0LmNvbm5lY3QucGF5bWVudHNlbnNlLmNsb3VkIiwiZXhwIjoyMzgzMDQ4NDAxLCJpYXQiOjE2MjYxODQ0MDEsInN1YiI6ImNvbm5lY3QtZS1kZXZAYXBwc3BvdC5nc2VydmljZWFjY291bnQuY29tIiwiYXBpS2V5IjoiMTM3ODQyOGMtYTMxNC00NTA5LWFjYTEtNmRhY2EzNGNiM2QyIiwiZW1haWwiOiJjb25uZWN0LWUtZGV2QGFwcHNwb3QuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9.IKX_Kou8grA5_UTkiC4wREq8yYL4gj1W9UG6lXArlm_DQiv1eL26kMfsbzN3dfUWO-H7BJHs8zMX-EN2fXocNq16aUTrdLHtSczVSLbt8kizHcVsOMYotW3syw897vpXJBDe2xWihKMBrr6P1uBFKnx_bDeMR67wvE3-5XIh_zV9hteFneuN9QmEW-QyGEJ9RpyKwrpGKU60SPYM1WO_6L72CgkxSATLwHThsEnUQCsZoOZc058lHzjyVww0T_y7QLYsooXQo2WJy5TIunE3xjf6srZnE6yeQu_0wouUJ_m64y9lmlUNXGzAzNvmgfnDZ1IqhWdfVDiIE6ZOa__H4w' \
  -H 'content-type: application/json' \
  -d '{
  "merchantUrl": "www.example.com",
  "currencyCode": "826",
  "amount": "100",
  "transactionType": "SALE",
  "orderId": "ORD00001",
  "orderDescription": "Example description."
}'
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\r\n  \"merchantUrl\": \"www.example.com\",\r\n  \"currencyCode\": \"826\",\r\n  \"amount\": \"100\",\r\n  \"transactionType\": \"SALE\",\r\n  \"orderId\": \"ORD00001\",\r\n  \"orderDescription\": \"Example description.\"\r\n}");
Request request = new Request.Builder()
  .url("https://e.test.connect.paymentsense.cloud/v1/access-tokens")
  .post(body)
  .addHeader("authorization", "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJjb25uZWN0LWUtZGV2QGFwcHNwb3QuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImF1ZCI6Imh0dHBzOi8vZS50ZXN0LmNvbm5lY3QucGF5bWVudHNlbnNlLmNsb3VkIiwiZXhwIjoyMzgzMDQ4NDAxLCJpYXQiOjE2MjYxODQ0MDEsInN1YiI6ImNvbm5lY3QtZS1kZXZAYXBwc3BvdC5nc2VydmljZWFjY291bnQuY29tIiwiYXBpS2V5IjoiMTM3ODQyOGMtYTMxNC00NTA5LWFjYTEtNmRhY2EzNGNiM2QyIiwiZW1haWwiOiJjb25uZWN0LWUtZGV2QGFwcHNwb3QuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9.IKX_Kou8grA5_UTkiC4wREq8yYL4gj1W9UG6lXArlm_DQiv1eL26kMfsbzN3dfUWO-H7BJHs8zMX-EN2fXocNq16aUTrdLHtSczVSLbt8kizHcVsOMYotW3syw897vpXJBDe2xWihKMBrr6P1uBFKnx_bDeMR67wvE3-5XIh_zV9hteFneuN9QmEW-QyGEJ9RpyKwrpGKU60SPYM1WO_6L72CgkxSATLwHThsEnUQCsZoOZc058lHzjyVww0T_y7QLYsooXQo2WJy5TIunE3xjf6srZnE6yeQu_0wouUJ_m64y9lmlUNXGzAzNvmgfnDZ1IqhWdfVDiIE6ZOa__H4w")
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
<?php

$request = new HttpRequest();
$request->setUrl('https://e.test.connect.paymentsense.cloud/v1/access-tokens');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
 'content-type' => 'application/json',
 'authorization' => 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJjb25uZWN0LWUtZGV2QGFwcHNwb3QuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImF1ZCI6Imh0dHBzOi8vZS50ZXN0LmNvbm5lY3QucGF5bWVudHNlbnNlLmNsb3VkIiwiZXhwIjoyMzgzMDQ4NDAxLCJpYXQiOjE2MjYxODQ0MDEsInN1YiI6ImNvbm5lY3QtZS1kZXZAYXBwc3BvdC5nc2VydmljZWFjY291bnQuY29tIiwiYXBpS2V5IjoiMTM3ODQyOGMtYTMxNC00NTA5LWFjYTEtNmRhY2EzNGNiM2QyIiwiZW1haWwiOiJjb25uZWN0LWUtZGV2QGFwcHNwb3QuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9.IKX_Kou8grA5_UTkiC4wREq8yYL4gj1W9UG6lXArlm_DQiv1eL26kMfsbzN3dfUWO-H7BJHs8zMX-EN2fXocNq16aUTrdLHtSczVSLbt8kizHcVsOMYotW3syw897vpXJBDe2xWihKMBrr6P1uBFKnx_bDeMR67wvE3-5XIh_zV9hteFneuN9QmEW-QyGEJ9RpyKwrpGKU60SPYM1WO_6L72CgkxSATLwHThsEnUQCsZoOZc058lHzjyVww0T_y7QLYsooXQo2WJy5TIunE3xjf6srZnE6yeQu_0wouUJ_m64y9lmlUNXGzAzNvmgfnDZ1IqhWdfVDiIE6ZOa__H4w'
));

$request->setBody('{
 "merchantUrl": "www.example.com",
 "currencyCode": "826",
 "amount": "100",
 "transactionType": "SALE",
 "orderId": "ORD00001",
 "orderDescription": "Example description."
}');

try {
 $response = $request->send();

 echo $response->getBody();
} catch (HttpException $ex) {
 echo $ex;
}
var client = new RestClient("https://e.test.connect.paymentsense.cloud/v1/access-tokens");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJjb25uZWN0LWUtZGV2QGFwcHNwb3QuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImF1ZCI6Imh0dHBzOi8vZS50ZXN0LmNvbm5lY3QucGF5bWVudHNlbnNlLmNsb3VkIiwiZXhwIjoyMzgzMDQ4NDAxLCJpYXQiOjE2MjYxODQ0MDEsInN1YiI6ImNvbm5lY3QtZS1kZXZAYXBwc3BvdC5nc2VydmljZWFjY291bnQuY29tIiwiYXBpS2V5IjoiMTM3ODQyOGMtYTMxNC00NTA5LWFjYTEtNmRhY2EzNGNiM2QyIiwiZW1haWwiOiJjb25uZWN0LWUtZGV2QGFwcHNwb3QuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9.IKX_Kou8grA5_UTkiC4wREq8yYL4gj1W9UG6lXArlm_DQiv1eL26kMfsbzN3dfUWO-H7BJHs8zMX-EN2fXocNq16aUTrdLHtSczVSLbt8kizHcVsOMYotW3syw897vpXJBDe2xWihKMBrr6P1uBFKnx_bDeMR67wvE3-5XIh_zV9hteFneuN9QmEW-QyGEJ9RpyKwrpGKU60SPYM1WO_6L72CgkxSATLwHThsEnUQCsZoOZc058lHzjyVww0T_y7QLYsooXQo2WJy5TIunE3xjf6srZnE6yeQu_0wouUJ_m64y9lmlUNXGzAzNvmgfnDZ1IqhWdfVDiIE6ZOa__H4w");
request.AddParameter("application/json", "{\r\n  \"merchantUrl\": \"www.example.com\",\r\n  \"currencyCode\": \"826\",\r\n  \"amount\": \"100\",\r\n  \"transactionType\": \"SALE\",\r\n  \"orderId\": \"ORD00001\",\r\n  \"orderDescription\": \"Example description.\"\r\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
var http = require("https");

var options = {
"method": "POST",
"hostname": "e.test.connect.paymentsense.cloud",
"port": null,
"path": "/v1/access-tokens",
"headers": {
  "authorization": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJjb25uZWN0LWUtZGV2QGFwcHNwb3QuZ3NlcnZpY2VhY2NvdW50LmNvbSIsImF1ZCI6Imh0dHBzOi8vZS50ZXN0LmNvbm5lY3QucGF5bWVudHNlbnNlLmNsb3VkIiwiZXhwIjoyMzgzMDQ4NDAxLCJpYXQiOjE2MjYxODQ0MDEsInN1YiI6ImNvbm5lY3QtZS1kZXZAYXBwc3BvdC5nc2VydmljZWFjY291bnQuY29tIiwiYXBpS2V5IjoiMTM3ODQyOGMtYTMxNC00NTA5LWFjYTEtNmRhY2EzNGNiM2QyIiwiZW1haWwiOiJjb25uZWN0LWUtZGV2QGFwcHNwb3QuZ3NlcnZpY2VhY2NvdW50LmNvbSJ9.IKX_Kou8grA5_UTkiC4wREq8yYL4gj1W9UG6lXArlm_DQiv1eL26kMfsbzN3dfUWO-H7BJHs8zMX-EN2fXocNq16aUTrdLHtSczVSLbt8kizHcVsOMYotW3syw897vpXJBDe2xWihKMBrr6P1uBFKnx_bDeMR67wvE3-5XIh_zV9hteFneuN9QmEW-QyGEJ9RpyKwrpGKU60SPYM1WO_6L72CgkxSATLwHThsEnUQCsZoOZc058lHzjyVww0T_y7QLYsooXQo2WJy5TIunE3xjf6srZnE6yeQu_0wouUJ_m64y9lmlUNXGzAzNvmgfnDZ1IqhWdfVDiIE6ZOa__H4w",
  "content-type": "application/json"
}
};

var req = http.request(options, function (res) {
var chunks = [];

res.on("data", function (chunk) {
  chunks.push(chunk);
});

res.on("end", function () {
  var body = Buffer.concat(chunks);
  console.log(body.toString());
});
});

req.write(JSON.stringify({ merchantUrl: 'www.example.com',
currencyCode: '826',
amount: '100',
transactionType: 'SALE',
orderId: 'ORD00001',
orderDescription: 'Example description.' }));
req.end();

Setting Up a Private Test Account

Test Card Numbers

The following card numbers are to be used with your test account

Card Name Card Number Expiry Date CV2 Status Code ThreeD Secure
Test Cardholder 4456530000001096 12/24 020 0 2.0
Test Cardholder 5200000000001096 12/24 020 0 2.0
Test Cardholder 340000000001098 12/24 0200 0 2.0
Test Cardholder 4456530000000007 12/24 020 0 1.0
Test Cardholder 6759410000006404 12/24 020 0 1.0
Test Cardholder 5200000000000056 12/24 341 0 No
Test Cardholder 4456530000001013 12/24 341 5 No
Test Cardholder 4456530000001005 12/24 341 0 2.0 (frictionless)

Test Card Numbers - Global Payments

The following card numbers are to be used with your Global Payments test account

Card Name Card Number Expiry Date CV2 Status Code ThreeD Secure
John Watson 4976000000003436 12/24 452 0 No
Jake Keaton 340000432128428 12/24 3469 0 No
Luke Johns 5100000000005460 12/24 524 0 No
Ian Lee 4221690000004963 12/24 125 5 No
George Toole 4792840000009202 12/24 654 4 No
Geoff Wayne 4976350000006891 12/24 341 0 Yes
Kirsty Catlin 4282730000002397 12/24 985 5 Yes
Julie Bean 4104710000005315 12/24 487 4 Yes

Test Cards - Apple Pay

To enable test cards for Apple Pay, you must have a sandbox tester account, then you will be able to add test cards into your Apple Wallet.

See Apple's Sandbox Testing Documentation to setup your Sandbox Tester Account which also provides the full list of supported test cards.

If you are not enrolled into the Apple Developer Program, please contact our support team for further instructions.

Test Cards - Google Pay

To enable test cards for Google Pay, you only need to enrol into the test card suite group as part of Google's Test Card Suite Documentation and all Google Pay supported test cards will be automatically added into your wallet.

We recommend to use an Google Account used to run integration and API tests.