cURL
curl --request POST \
--url https://take.app/api/v2/orders/{order_id}/payments \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"amount": 123,
"payment_method": "<string>",
"paid_at": "2023-11-07T05:31:56Z"
}
'import requests
url = "https://take.app/api/v2/orders/{order_id}/payments"
payload = {
"amount": 123,
"payment_method": "<string>",
"paid_at": "2023-11-07T05:31:56Z"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({amount: 123, payment_method: '<string>', paid_at: '2023-11-07T05:31:56Z'})
};
fetch('https://take.app/api/v2/orders/{order_id}/payments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://take.app/api/v2/orders/{order_id}/payments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'amount' => 123,
'payment_method' => '<string>',
'paid_at' => '2023-11-07T05:31:56Z'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://take.app/api/v2/orders/{order_id}/payments"
payload := strings.NewReader("{\n \"amount\": 123,\n \"payment_method\": \"<string>\",\n \"paid_at\": \"2023-11-07T05:31:56Z\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://take.app/api/v2/orders/{order_id}/payments")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": 123,\n \"payment_method\": \"<string>\",\n \"paid_at\": \"2023-11-07T05:31:56Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://take.app/api/v2/orders/{order_id}/payments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": 123,\n \"payment_method\": \"<string>\",\n \"paid_at\": \"2023-11-07T05:31:56Z\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"object": "order_payment",
"order_id": "<string>",
"amount": 123,
"fee": 123,
"status": "pending",
"payment_method": "<string>",
"payment_method_type": "<string>",
"paid_at": "2023-11-07T05:31:56Z"
}{
"error": {
"type": "invalid_request_error",
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"param": "<string>"
}
}{
"error": {
"type": "invalid_request_error",
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"param": "<string>"
}
}Orders
Create order payment
Record a payment received outside Take App, such as a bank transfer. The order’s payment_status becomes partial or paid from the new balance. Send an Idempotency-Key header so a retry doesn’t record the payment twice.
POST
/
api
/
v2
/
orders
/
{order_id}
/
payments
cURL
curl --request POST \
--url https://take.app/api/v2/orders/{order_id}/payments \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"amount": 123,
"payment_method": "<string>",
"paid_at": "2023-11-07T05:31:56Z"
}
'import requests
url = "https://take.app/api/v2/orders/{order_id}/payments"
payload = {
"amount": 123,
"payment_method": "<string>",
"paid_at": "2023-11-07T05:31:56Z"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({amount: 123, payment_method: '<string>', paid_at: '2023-11-07T05:31:56Z'})
};
fetch('https://take.app/api/v2/orders/{order_id}/payments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://take.app/api/v2/orders/{order_id}/payments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'amount' => 123,
'payment_method' => '<string>',
'paid_at' => '2023-11-07T05:31:56Z'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://take.app/api/v2/orders/{order_id}/payments"
payload := strings.NewReader("{\n \"amount\": 123,\n \"payment_method\": \"<string>\",\n \"paid_at\": \"2023-11-07T05:31:56Z\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://take.app/api/v2/orders/{order_id}/payments")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": 123,\n \"payment_method\": \"<string>\",\n \"paid_at\": \"2023-11-07T05:31:56Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://take.app/api/v2/orders/{order_id}/payments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": 123,\n \"payment_method\": \"<string>\",\n \"paid_at\": \"2023-11-07T05:31:56Z\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"object": "order_payment",
"order_id": "<string>",
"amount": 123,
"fee": 123,
"status": "pending",
"payment_method": "<string>",
"payment_method_type": "<string>",
"paid_at": "2023-11-07T05:31:56Z"
}{
"error": {
"type": "invalid_request_error",
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"param": "<string>"
}
}{
"error": {
"type": "invalid_request_error",
"code": "<string>",
"message": "<string>",
"request_id": "<string>",
"param": "<string>"
}
}Authorizations
Merchant API V2 token. Pass as Authorization: Bearer <token>.
Path Parameters
Body
application/json
Response
Payment
Available options:
order_payment Integer amount in the smallest unit of the store currency (e.g. cents).
Integer amount in the smallest unit of the store currency (e.g. cents).
Only paid payments count towards amount_paid.
Available options:
pending, confirming, partial, paid, refunded, voided Name of the payment method, e.g. "Bank Transfer".