---
title: "Create Merchant Session Purchase"
method: POST
path: "/v2/merchant-session/{uuid}/purchase"
tags: ["Merchant Session"]
---

# Create Merchant Session Purchase

`POST /v2/merchant-session/{uuid}/purchase`

## Request

- Base URL: `https://api.starkbank.com`
- URL: `https://api.starkbank.com/v2/merchant-session/{uuid}/purchase`
- Auth: API key in header `Digital-Signature`

This route can be used to create a Merchant Purchase directly from the payer's client application.
The UUID of a Merchant Session that was previously created by the merchant is necessary to access this route.
This route is currently not available in the SDKs. Your front-end must call "POST /v2/merchant-session/:uuid/purchase" directly on the Stark Bank API.

## Path parameters

- `uuid` string, required

## Request body

- object
  - `amount` integer, required: A non-negative integer that represents the amount in cents to be received. E.g: 100 (R$1.00)
  - `cardExpiration` string, required: A string in the format YYYY-MM representing the expiration of the card to be used for the purchase.
  - `cardNumber` string, required: A string representing the number of the card to be used for the purchase.
  - `cardSecurityCode` string, required: A string representing the security code of the card to be used for the purchase.
  - `fundingType` string, required: The type of funding to be used for the purchase. Options are "credit" and "debit".
  - `holderName` string, required: The name of the card holder as it appears on the card.
  - `billingCity` string, required: The billing city associated with the card used for the purchase. Required if challengeMode is "enabled" and optional otherwise.
  - `billingCountryCode` string, required: The billing country code associated with the card used for the purchase. Required if challengeMode is "enabled" and optional otherwise.
  - `billingStateCode` string, required: The billing state code associated with the card used for the purchase. Required if challengeMode is "enabled" and optional otherwise.
  - `billingStreetLine1` string, required: The billing street address associated with the card used for the purchase. Required if challengeMode is "enabled" and optional otherwise.
  - `billingStreetLine2` string, required: The billing street address complement associated with the card used for the purchase. Required if challengeMode is "enabled" and optional otherwise.
  - `billingZipCode` string, required: The billing zip code associated with the card used for the purchase. Required if challengeMode is "enabled" and optional otherwise.
  - `holderEmail` string, required: The email associated with the holder of the card used for the purchase. Required if challengeMode is "enabled" and optional otherwise.
  - `holderPhone` string, required: The phone number associated with the holder of the card used for the purchase. Required if challengeMode is "enabled" and optional otherwise.
  - `installmentCount` string: A non-negative integer that represents the number of purchase installments. Default: 1
  - `metadata` string, required: An object containing additional data related to the purchase. If 3DS is enabled, the following fields related to the payer's device are required: userAgent, timezoneOffset, userIp, language.

## Response `200`

Successful operation

- object

## Other responses

- `400`: Client error
- `500`: Server error

---

[API](https://skmtc.dev/starkbank/apis/stark-bank-api.md) - [All operations](https://skmtc.dev/starkbank/apis/stark-bank-api/llms.txt) - [OpenAPI document](https://skmtc.dev/starkbank/apis/stark-bank-api/revisions/aeff5068a5da?raw)
