---
title: "STP Card Processing"
slug: "stpcards-card-processing"
updated: 2026-02-27T08:02:39Z
published: 2026-02-27T08:02:39Z
canonical: "docs.apcopay.com/stpcards-card-processing"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apcopay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# STP Card Processing

## Supported Transaction Types

- [x] Authorisation `AUTH`
- [x] Capture `CAPT`
- [x] Purchase `PURC`
- [x] Refund `PARTIALREFUND`
- [x] Void `GENERALVOID`
- [x] Payouts `ORIGINALCREDIT`
- [x] Recurring `AUTH` / `PURC`

## Integrations Supported

**Deposit - Authorisation / Purchase**

- [x] Hosted Payment Page
- [x] Direct Connect ( server-to-server)

**Capture, Void, Refunds, Payouts, Recurring**

- [ ] Hosted Payment Page
- [x] Direct Connect ( server-to-server)

## Supported Wallet

- [ ] GooglePay
- [ ] Applepay

## Additional attributes to process Deposits

You must include the following JSON Attributes to the payload. These attributes inform us to proceed with the redirection to STPCards to finalize the payment process.

If you are using our **Hosted Payment Page**

| Description | Hosted Payment Page |
| --- | --- |
| **Force Transaction Routing** | "Routing": { "ForceBank": "STPCARDS" } |
| **Client Details** | "Client": { "Email": "[test@test.com](mailto:test@test.com)", "FirstName": "Test", "LastName": "Test", "Country": "MLT", "Street": "Test", "City": "Athens", "ZIPCode": "152 35", "MobileNo" : "35612345678" } |
| **Test Indicator** | "isTest”: true |

Sample requests using our Hosted Payment Page can be viewed here.

```json
{
  "TransactionType": "PURC",
  "Amount": "1.00",
  "Currency": "EUR",
  "OrderReference": "Apco STPCARDS TEST",
  "RedirectionURL": "https://www.yourURLhere.com/Redirect",
  "CallBackURL": "https://www.yourURLhere.com/Listener",
  "FailRedirectionURL": "https://www.yourURLhere.com/Redirect",
  "IsTest": "True",
  "Routing": {
    "ForceBank": "STPCARDS"
  },
  "Client": {
    "Email": "test@test.com",
    "FirstName": "Test",
    "LastName": "Test",
    "Country": "MLT",
    "Street": "Test",
    "City": "Athens",
    "ZIPCode": "152 35",
    "MobileNo" : "35612345678"
  }
}
```

If you are using our **direct connect solution** (server-to-server)

| Description | Direct Connect |
| --- | --- |
| **Force Transaction Routing** | "Routing": { "ForceBank": "STPCARDS" |
| **Client Details** | "Client": { "FirstName": "Apco", "LastName": "Test", "Email": "apcotest@test.com", "Street": "1,Street", "City": "Marsa", "ZIPCode": "MRS3000", "Country": "MLT", "State": "Rabat", "MobileNo": "20100000000", "IPAddress": "192.168.0.1", "ClientAccount": "1234" } |
| **Card Details** | "PaymentCredentials": { "PaymentSource": "Card", "CardType": "VISA", "CardNumber": "4242424242424242", "CardHolderName": "Frictionless Processed", "ExpMonth": "12", "ExpYear": "2030", "CvV2": "666" } |
| **Browser details** | "BrowserDetails": { "UserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36", "JavaEnabled": true, "ScreenColorDepth": "1", "ScreenWidth": "1080", "ScreenHeight": "840", "TimeZone": "2", "AcceptHeader": "application/json", "BrowserLanguage": "en" } |
| **Test Indicator** | "isTest”: true |

Sample requests using **Direct Connect** can be viewed here.

```json
 {
  "TransactionType": "PURC",
  "Amount": "5.00",
  "Currency": "EUR",
  "IsTest": true,
  "OrderReference": "MonetixCards Direct Deposit",
  "RedirectionURL": "https://www.yourURLhere.com/Redirect/",
  "CallBackURL": "https://www.yourURLhere.com/Listener",
  "PaymentCredentials": {
    "PaymentSource": "Card",
    "CardType": "VISA",
    "CardNumber": "4242424242424242",
    "CardHolderName": "Frictionless Processed",
    "ExpMonth": "12",
    "ExpYear": "2030",
    "CvV2": "666"
  },
  "Client": {
    "FirstName": "Apco",
    "LastName": "Test",
    "Email": "apcotest@test.com",
    "Street": "1,Street",
    "City": "Marsa",
    "ZIPCode": "MRS3000",
    "Country": "MLT",
    "State": "Rabat",
    "MobileNo": "20100000000",
    "IPAddress": "192.168.0.1",
    "ClientAccount": "1234"
  },
  "BrowserDetails": {
    "UserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
    "JavaEnabled": true,
    "ScreenColorDepth": "1",
    "ScreenWidth": "1080",
    "ScreenHeight": "840",
    "TimeZone": "2",
    "AcceptHeader": "application/json",
    "BrowserLanguage": "en"
  },
  "Routing": {
    "ForceBank": "STPCARDS"
  }
}
```

### Requesting a Capture

If you wish to `Capture` a transaction of type `Authorisation`Below are the mandatory fields.

| Description | Direct Connect |
| --- | --- |
| **Transaction Reference** | "PspID": "342342” |

sample request for processing a `capture` request.

```json
{
"TransactionType": "CAPT",
"Amount": 10.00,
"CallBackURL": "https://www.yourURLhere.com/Listener",
"IsTest": true,
"UniqueReference": "6514441d-8abe-4d7b-9e0c-3aa386333b34",
"PspID":"839791"
}
```

### Requesting a Payout

Using our direct integration, below are the mandatory fields required to process a `payout`. We currently support three options for payout:

- via a PSP ID
- via a Card Token
- via a full Card PAN details

| Description | PSP ID | Card Token | Full Card PAN |
| --- | --- | --- | --- |
| **Force Transaction Routing** | *Not required* | "Routing": { "ForceBank": "STPCARDS" } | "Routing": { "ForceBank": "STPCARDS" } |
| **Client** | "Client": { "FirstName": "Apco", "LastName": "Test", "Email": "[apcotest@test.com](mailto:apcotest@test.com)", "Street": "1,Street", "City": "Marsa", "IPAddress": "1.1.1.1", "ZIPCode": "MRS3000", "Country": "MT", "MobileNo": "+20100000000" } | "Client": { "FirstName": "Apco", "LastName": "Test", "Email": "apcotest@test.com", "Street": "1,Street", "City": "Marsa", "IPAddress": "1.1.1.1", "ZIPCode": "MRS3000", "Country": "MLT", "MobileNo": "+20100000000" }, | "Client": { "FirstName": "Apco", "LastName": "Test", "Email": "apcotest@test.com", "Street": "1,Street", "City": "Marsa", "IPAddress": "1.1.1.1", "ZIPCode": "MRS3000", "Country": "MLT", "MobileNo": "+20100000000" }, |
| **Transaction or Payment Reference** | "PaymentMethodData": { "Gender": "male", "Nationality": "MT", "DocumentType": "identification_id", "DocumentNumber": "123456789" }, "PSPID": "964170" } | "PaymentMethodData": { "Gender": "male", "Nationality": "MT", "DocumentType": "identification_id", "DocumentNumber": "123456789" }, | }, "PaymentMethodData": { "Gender": "male", "Nationality": "MT", "DocumentType": "identification_id", "DocumentNumber": "123456789" }, "PaymentDestination": { "PaymentMethod": "Card", "CardType": "VISA", "CardNumber": "4000000000001018", "CardHolderName": "Apco Test", "ExpMonth": "12", "ExpYear": "2040", "CvV2":"123" } |
| **Test Indicator** | "isTest”: true | "isTest”: true | "isTest”: true |

**Sample Payout Request using the PSP ID**

```json
{
  "TransactionType": "ORIGINALCREDIT",
  "Amount": "1.23",
  "Currency": "EUR",
  "OrderReference": "123",
  "IsTest": true,
  "RedirectionURL": "https://www.yourURLhere.com/Redirect/",
  "CallBackURL": "https://www.yourURLhere.com/Listener",
  "Client": {
    "Email": "test@test.com",
    "FirstName": "Test",
    "LastName": "Test",
    "Country": "MLT",
    "Street": "Test",
    "City": "Athens",
    "ZIPCode": "152 35",
    "MobileNo" : "35612345678",
    "IPAddress" : "1.1.1.1"
  },
  "Routing": {
    "ForceBank": "STPCARDS"
  },
  "PaymentDestination": {
    "PaymentMethod": "Card",
    "CardNumber": "4000000000000408",
    "CvV2": 321,
    "ExpMonth": "01",
    "ExpYear": "2026",
    "CardHolderName": "Joe Bloggs"
  }
}
```

### **Requesting a Recurring transaction**

The mandatory fields are required to process a recurring transaction using our direct connect integration. Note that we use a transaction reference as payment credentials since a recurring transaction is linked to an original deposit.

| Description | Direct Connect |
| --- | --- |
| **Payment Credentials** | "PaymentCredentials": { "PaymentSource": "TransactionReference" }, |
| **Client** | "Client": { "FirstName": "Apco", "LastName": "Test", "ClientAccount": "APCOPAY TEST", "IPAddress": "212.152.12.12", "Email": "apcotest@test.com", "MobileNo": "003577824322", "Profile": "termsandconditions", "DateOfBirth": "19001212", "City": "cityTest", "Street": "fake123", "Country": "MLT" } |
| **Transaction Reference** | "PspID": "342342” |
| **Test Indicator** | "isTest”: true |

**Sample Request of a Recurring transaction**

```json
{
  "TransactionType": "PURC",
  "Amount": "1.00",
  "Currency": "EUR",
  "RedirectionURL": "https://www.yourURLhere.com/Redirect",
  "CallBackURL": "https://www.yourURLhere.com/Listener",
  "IsTest": "False",
   "UDF": {
    "Extra1": "Value1",
    "Extra2": "Value2"
  },
  "Routing":{
     "ForceBank": "STPCARDS"
  },
  "PaymentCredentials":  {
     "PaymentSource": "TransactionReference"
  },
  "PSPID": "970328",
  "Client": {
    "FirstName": "Apco",
    "LastName": "Test",
    "ClientAccount": "APCOPAY TEST",
    "IPAddress": "212.152.12.12",
    "Email": "apcotest@test.com",
    "MobileNo": "003577824322",
    "Profile": "termsandconditions",
    "DateOfBirth": "19001212",
    "City": "cityTest",
    "Street": "fake123",
    "Country": "MLT"
  }
}
```

**Test Credentials**

Test Card details below. You must use a future expiry date and use “Frictionless Processed” as the cardholder name, for more test information on different card use cases [here](/v1/docs/test-card-numbers).

| Card Details | 3Ds Action | 3Ds Code | Exp. Date | CVV | Transaction Result |
| --- | --- | --- | --- | --- | --- |
| 4000000000000002 | Enrolled | 12345 | Any date in the future | Any CVV | Successful |
| 4242424242424242 | Enrolled | 12345 | Any date in the future | Any CVV | Declined |
| 4000000000000408 | Non-3D | N/A | Any date in the future | Any CVV | Successful |
| 4000000000000416 | Non-3D | N/A | Any date in the future | Any CVV | Declined |
