# Transactions service

API reference for the Transactions service.

For method-specific request shapes, constraints, and examples, see the transactions guides:
- [Card](https://developer.pxp.io/guides/transactions/e-commerce/card-transaction)
- [Token](https://developer.pxp.io/guides/transactions/e-commerce/token-transaction)
- [Apple Pay](https://developer.pxp.io/guides/transactions/e-commerce/apple-pay-transaction)
- [Google Pay](https://developer.pxp.io/guides/transactions/e-commerce/google-pay-transaction)
- [SPEI](https://developer.pxp.io/guides/transactions/e-commerce/spei-transaction)
- [CVU](https://developer.pxp.io/guides/transactions/e-commerce/cvu-transaction)
- [Bre-B](https://developer.pxp.io/guides/transactions/e-commerce/bre-b-transaction)
- [FlashFlow](https://developer.pxp.io/guides/transactions/e-commerce/flashflow-transaction)

Start from [Initiate transactions](https://developer.pxp.io/guides/transactions/initiate-transactions) for an overview of all methods.

Version: 1.0.0

## Servers

Production environment
```
https://api-services.pxp.io/api/v1
```

Sandbox environment
```
https://api-services.test.pxp.io/api/v1
```

## Download OpenAPI description

[Transactions service](https://developer.pxp.io/_bundle/apis/transaction.yaml)

## Other

### Initiate a transaction

 - [POST /transactions](https://developer.pxp.io/apis/transaction/other/initiate-a-transaction.md): The /transactions endpoint enables the initiation of transactions, supporting various transaction methods, including card and alternative payments. It facilitates authorisations, tokenisation, recurring payments, and incorporates security enhancements, offering a versatile solution for payment processing across both online and instore.

### Create a modification

 - [POST /transactions/{systemTransactionId}/modifications](https://developer.pxp.io/apis/transaction/other/modify-a-transaction.md): Process modifications on previously initiated transactions. Supported operations include captures, refunds, incremental authorisations, and voids. This endpoint returns a unique reference for the modification request, allowing for easy tracking and reconciliation.

### Get transaction details

 - [GET /transactions/{merchant}/{site}](https://developer.pxp.io/apis/transaction/other/get-transaction-details.md): Looks up a transaction by identifier. Provide at least one of merchantTransactionId or systemTransactionId. The response is a JSON array containing zero or one transaction object. This endpoint isn't a list or search API.

### Get order details

 - [GET /transactions/{merchant}/{site}/order-details](https://developer.pxp.io/apis/transaction/other/get-order-details.md)

### Get FlashFlow supported banks

 - [GET /altp-flashflow-processor/{merchant}/{site}/bank-list](https://developer.pxp.io/apis/transaction/other/get-flashflow-bank-list.md): Returns the cached list of FlashFlow banks available for your merchant and site. Call this before creating FlashFlow pay-ins or payouts that need a bank code.

### Provision a transaction context

 - [POST /transaction-contexts](https://developer.pxp.io/apis/transaction/other/provision-a-transaction-context.md): Provisions a reusable Pay by Bank destination for a shopper. Use apmProvider: Cvu for an Argentine CVU account, or apmProvider: Breb for a Colombian Bre-B Llave. Creates no transaction. Present the returned account details (cvu / alias, or brebKey) so the shopper can push a transfer from their banking app. The final deposit confirmation arrives by merchant webhook.

Bre-B doesn't support alias updates. Deposits for Bre-B and CVU aren't created with POST /transactions.

### Update a transaction-context alias

 - [PUT /transaction-contexts/{transactionContextId}/alias](https://developer.pxp.io/apis/transaction/other/update-a-transaction-context-alias.md): Updates the human-readable alias for a previously provisioned CVU transaction context. The CVU account number and any prior deposits are unaffected. This route isn't available for Bre-B.

