Create a payment
curl --request POST \
--url https://api.plane.com/v1/payments \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"worker": "<string>",
"amount": "<string>",
"currency": "<string>",
"account": "<string>",
"date": "<string>",
"metadata": {},
"reference": "<string>",
"note": "<string>",
"period": {}
}
'import requests
url = "https://api.plane.com/v1/payments"
payload = {
"worker": "<string>",
"amount": "<string>",
"currency": "<string>",
"account": "<string>",
"date": "<string>",
"metadata": {},
"reference": "<string>",
"note": "<string>",
"period": {}
}
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({
worker: '<string>',
amount: '<string>',
currency: '<string>',
account: '<string>',
date: '<string>',
metadata: {},
reference: '<string>',
note: '<string>',
period: {}
})
};
fetch('https://api.plane.com/v1/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://api.plane.com/v1/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([
'worker' => '<string>',
'amount' => '<string>',
'currency' => '<string>',
'account' => '<string>',
'date' => '<string>',
'metadata' => [
],
'reference' => '<string>',
'note' => '<string>',
'period' => [
]
]),
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://api.plane.com/v1/payments"
payload := strings.NewReader("{\n \"worker\": \"<string>\",\n \"amount\": \"<string>\",\n \"currency\": \"<string>\",\n \"account\": \"<string>\",\n \"date\": \"<string>\",\n \"metadata\": {},\n \"reference\": \"<string>\",\n \"note\": \"<string>\",\n \"period\": {}\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://api.plane.com/v1/payments")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"worker\": \"<string>\",\n \"amount\": \"<string>\",\n \"currency\": \"<string>\",\n \"account\": \"<string>\",\n \"date\": \"<string>\",\n \"metadata\": {},\n \"reference\": \"<string>\",\n \"note\": \"<string>\",\n \"period\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.plane.com/v1/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 \"worker\": \"<string>\",\n \"amount\": \"<string>\",\n \"currency\": \"<string>\",\n \"account\": \"<string>\",\n \"date\": \"<string>\",\n \"metadata\": {},\n \"reference\": \"<string>\",\n \"note\": \"<string>\",\n \"period\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "pt_ogdEjSnSqNYxtW1sd3pC3hFX"
}
Payments
Create a payment
To send funds to a worker on Plane, you create a new payment object.
POST
/
v1
/
payments
Create a payment
curl --request POST \
--url https://api.plane.com/v1/payments \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"worker": "<string>",
"amount": "<string>",
"currency": "<string>",
"account": "<string>",
"date": "<string>",
"metadata": {},
"reference": "<string>",
"note": "<string>",
"period": {}
}
'import requests
url = "https://api.plane.com/v1/payments"
payload = {
"worker": "<string>",
"amount": "<string>",
"currency": "<string>",
"account": "<string>",
"date": "<string>",
"metadata": {},
"reference": "<string>",
"note": "<string>",
"period": {}
}
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({
worker: '<string>',
amount: '<string>',
currency: '<string>',
account: '<string>',
date: '<string>',
metadata: {},
reference: '<string>',
note: '<string>',
period: {}
})
};
fetch('https://api.plane.com/v1/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://api.plane.com/v1/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([
'worker' => '<string>',
'amount' => '<string>',
'currency' => '<string>',
'account' => '<string>',
'date' => '<string>',
'metadata' => [
],
'reference' => '<string>',
'note' => '<string>',
'period' => [
]
]),
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://api.plane.com/v1/payments"
payload := strings.NewReader("{\n \"worker\": \"<string>\",\n \"amount\": \"<string>\",\n \"currency\": \"<string>\",\n \"account\": \"<string>\",\n \"date\": \"<string>\",\n \"metadata\": {},\n \"reference\": \"<string>\",\n \"note\": \"<string>\",\n \"period\": {}\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://api.plane.com/v1/payments")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"worker\": \"<string>\",\n \"amount\": \"<string>\",\n \"currency\": \"<string>\",\n \"account\": \"<string>\",\n \"date\": \"<string>\",\n \"metadata\": {},\n \"reference\": \"<string>\",\n \"note\": \"<string>\",\n \"period\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.plane.com/v1/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 \"worker\": \"<string>\",\n \"amount\": \"<string>\",\n \"currency\": \"<string>\",\n \"account\": \"<string>\",\n \"date\": \"<string>\",\n \"metadata\": {},\n \"reference\": \"<string>\",\n \"note\": \"<string>\",\n \"period\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "pt_ogdEjSnSqNYxtW1sd3pC3hFX"
}
Parameters
string
required
The ID of an existing worker this payment will be sent to.
string
required
The amount of the payment in decimal format.
string
required
Three-letter ISO currency code, in uppercase.
string
ID of the account belong to this worker you want to send the payment to. When omitted, Plane will
use the worker’s preferred bank account for a given currency.
string
The date this payment is scheduled for. When omitted, Plane will pick the soonest available date.
object
Set of key-value pairs that you can attach to an object. This can be useful for storing additional
information about the object in a structured format.
string
A reference for this payment visible to the worker. When ommitted, Plane will generate a new
8-character reference for each payment.
string
An additional memo to be included with the payment. Plane will try to include it in payment
instructions, so it may be shown on the recipient’s bank statement depending on the payment method
used.
object
Returns
Returns the created payment ID. Retrieve the full Payment object with Get a payment. Returns an error code if create parameters are invalid.{
"id": "pt_ogdEjSnSqNYxtW1sd3pC3hFX"
}
Was this page helpful?
⌘I