---
title: "Create Merchant Purchase"
method: POST
path: "/v2/merchant-purchase"
tags: ["Merchant Purchase"]
---

# Create Merchant Purchase

`POST /v2/merchant-purchase`

## Request

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

This route is used to charge a card that has been previously saved.
Cards can only be used in this route once a previous purchase was approved through a Merchant Session Purchase.

## 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)
  - `cardId` string, required: The ID of the Merchant 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".
  - `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.
  - `challengeMode` string: Defines whether or not a holder verification (3DS) will be used when authorizing the purchase. Options are "enabled" and "disabled". Default: "enabled"
  - `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 buyer'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)
