# Card transaction

Process a MOTO card transaction.

## Initiate a card transaction

/v1/transactions

### Request example

Use the following example to request a MOTO card authorisation.


```json
{
  "merchant": "MERCHANT-1",
  "site": "SITE-1",
  "merchantTransactionId": "MOTO-001",
  "merchantTransactionDate": "2025-01-27 08:51:02.826445+00:00",
  "transactionMethod": {
    "entryType": "Moto",
    "fundingType": "Card",
    "intent": "Authorisation"
  },
  "amounts": {
    "transaction": 50,
    "currencyCode": "GBP",
    "gratuity": 0
  },
  "fundingData": {
    "card": {
      "primaryAccountNumber": "4111111111111111",
      "expiryMonth": "03",
      "expiryYear": "2027",
      "cardVerificationCode": "788",
      "holderName": "John Smith"
    }
  }
}
```

| Parameter | Description |
|  --- | --- |
| `merchant`string (≤ 20 characters) | Your unique merchant identifier, as assigned by PXP. |
| `site`string (≤ 20 characters) | Your unique site identifier, as assigned by PXP. |
| `merchantTransactionId`string (≤ 50 characters) | A unique identifier for this transaction. |
| `merchantTransactionDate`date-time | The date and time when the transaction happened, in ISO 8601 format. |
| `transactionMethod`object | Details about the transaction method. |
| `transactionMethod.entryType`string | The entry type. For MOTO transactions, this is always `Moto`. |
| `transactionMethod.fundingType`string | The funding type. For card transactions, this is always `Card`. |
| `transactionMethod.intent`string | The payment intent. [Learn more about intents](/guides/transactions/how-it-works#/intents).  Possible values:`Authorisation``EstimatedAuthorisation``Purchase``Payout``Refund` |
| `amounts`object | Details about the transaction amount. |
| `amounts.transaction`number | The transaction amount. The numbers after the decimal will be zero padded if they are less than the expected `currencyCode` exponent. For example, GBP 1.1 = GBP 1.10, EUR 1 = EUR 1.00, or BHD 1.3 = 1.300. The transaction will be rejected if numbers after the decimal are greater than the expected `currencyCode` exponent (e.g., GBP 1.234), or if a decimal is supplied when the `currencyCode` of the exponent does not require it (e.g., JPY 1.0). |
| `amounts.currencyCode`string (1-3 characters) | The currency code associated with the transaction, in ISO 4217 format. |
| `amounts.gratuity`number | The gratuity or tip amount added by the customer to the transaction total. This field cannot be used together with `serviceCharge`. |
| `amounts.serviceCharge`object | Details about the service charge applied to the transaction. This field cannot be used together with `gratuity`. |
| `amounts.serviceCharge.amount`number | The service charge amount. |
| `amounts.serviceCharge.percentage`number | The service charge percentage. |
| `amounts.serviceCharge.optional`boolean | Whether the service charge is optional. |
| `fundingData`object | Details about the payment method used for the transaction. |
| `fundingData.card`object | Details about the card. |
| `fundingData.card.securityLevel.primaryAccountNumber`string (10-19 characters) | The unique number assigned to a payment card, such as a credit or debit card. This number typically contains 16 digits, structured in a specific format to indicate the card network, issuing bank, and account number. |
| `fundingData.card.securityLevel.expiryMonth`string (2 characters) | The expiry month (`MM`) of the card. This is present if the card is manually entered into a device without point-to-point encryption. |
| `fundingData.card.securityLevel.expiryYear`string (4 characters) | The expiry year (`YYYY`) of the card. This is present if the card is manually entered into a device without point-to-point encryption. |
| `fundingData.card.cardVerificationCode`string (3 to 4 characters) | The Card Verification Code (CVC) associated with the payment card, used to verify that the cardholder is in possession of the card during non-face-to-face transactions. This field is required for initial transactions and optional after. |
| `fundingData.card.holderName`string (≤ 100 characters) | The full name of the individual who owns the payment card. This name is printed on the physical card and is used for verifying the cardholder's identity during transactions. |


### Response example

If your request is successful, you'll receive a `200` response that includes the transaction's `state`. You'll also receive a Transaction (Card Authorised) webhook notification.


```json
{
  "state": "Authorised",
  "stateData": {},
  "approvalCode": "759194",
  "merchantTransactionDate": "2025-03-30T14:21:35",
  "merchantTransactionId": "f359d9c7-7cbf-4b1b-835b-663d327f418a",
  "systemTransactionId": "f1b26962-452a-4c7a-b12b-d82dcd761dde",
  "fundingData": {
    "cardScheme": "MasterCard",
    "expiryMonth": "03", 
    "expiryYear": "2027",
    "gatewayTokenId": "5fbd77ce-02c1-40ed-94bc-1016660b7512",
    "providerResponse": {
      "provider": "pxpfinancial",
      "code": "00",
      "emvDataResponse": {},
      "paymentAccountReference": "637607302178175469",
      "electronicCommerceIndicatorAdjustment": "07",
      "merchantAdvice": {},
      "authorisedAmount": 10,
      "settlementDate": "2025-03-31T00:00:00"
    },
    "processorTransactionId": "ba2ab153-f3ea-43e4-b03f-454fe7ead3a3"
  }
}
```