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

# Process Transaction

BrandWallet works very similarly to a cashier POS system payment or an e-commerce software checkout, when it comes to processing subscribers' digital cards.

To process a subscriber's card, integrating system creates a [Transaction](/api/transaction-object) object and sends it to [process transaction endpoint](/api/process-transaction).

BrandWallet processes this object according to the default campaign settings of the digital card. Collectable values are re-calculated, if there are coupons in the transaction they are redeemed or new coupons are issued to the subscriber according to the campaign settings.

Transaction object is very similar to a POS system's check or shopping cart in an e-commerce software. It contains `customer`, customer's digital `card`, `items` — products — and the total volume — `amount` — of the transaction.

Points to spend in earn\&burn campaigns and coupons the subscriber wants to use for this transaction is also included in the Transaction object if necessary.

## Transaction Object

Every transaction object must contain subscriber's id in `customer` and subscriber's digital card id in `card` attributes. These two identifies which card is going to be processed.

You can find these values in [Subscriber](/api/customer-object) object returned from [find a subscriber endpoint](/api/find-customer).

## Testing The Payload

Lorem Ipsum

## Error Codes

Lorem Ipsum

<ResponseExample>
  ```text Transaction theme={null}
  {
      "customer": "3d8ec956-de2a-4d43-9c1e-74475b153362",
      "card": "41dd8263-288e-4b55-bf2e-6a82995a0441",
      "items": [
          {
              "id": "8f26e6c7-...",
              "quantity": 4,
              "price": 140,
              "name": "Americano"
          }
      ],
      "amount": 560,
      "pointsToSpend": 120
  }
  ```
</ResponseExample>
