LogoLogo
  • Intro
  • Quick Start
  • Reference
    • API Requests - V2
      • Create Order
      • Create Invoice
      • Deposit Callback
      • Check Order
      • Check Orders
    • API Requests - V1 - deprecated!
      • Create Order
      • Deposit Callback
      • Check Source
      • Check Order
      • Check Orders
Powered by GitBook
On this page
  • Creating a new Invoice
  • Create an invoice.
  1. Reference
  2. API Requests - V2

Create Invoice

Create an Invoice

Creating a new Invoice

curl --location -g --request POST '{{BASE_URL}}/v2/create-invoice' \
--header 'Authorization: Bearer {{API_KEY}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "api Invoice test",
    "invoice_number": "1234",
    "subject":   "API test",
    "description": "Rent for Q1",
    "amount": 30,
    "currency_name": "USD",
    "items": {
		"1": {
			"name": "Test Item 1",
            "Quantity":"1",
			"price": 10
		},
		"2": {
			"name": "Test Item 2",
			"price": 20
		}
	}
}'
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer {{API_KEY}}");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
  "name": "api Invoice test",
  "invoice_number": "1234",
  "subject": "API test",
  "description": "Rent for Q1",
  "amount": 30,
  "currency_name": "USD",
  "items": {
    "1": {
      "name": "Test Item 1",
      "Quantity": "1",
      "price": 10
    },
    "2": {
      "name": "Test Item 2",
      "price": 20
    }
  }
});

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("{{BASE_URL}}/v2/create-invoice", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
var request = require('request');
var options = {
  'method': 'POST',
  'url': '{{BASE_URL}}/v2/create-invoice',
  'headers': {
    'Authorization': 'Bearer {{API_KEY}}',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    "name": "api Invoice test",
    "invoice_number": "1234",
    "subject": "API test",
    "description": "Rent for Q1",
    "amount": 30,
    "currency_name": "USD",
    "items": {
      "1": {
        "name": "Test Item 1",
        "Quantity": "1",
        "price": 10
      },
      "2": {
        "name": "Test Item 2",
        "price": 20
      }
    }
  })

};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => '%7B%7BBASE_URL%7D%7D/v2/create-invoice',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "name": "api Invoice test",
    "invoice_number": "1234",
    "subject":   "API test",
    "description": "Rent for Q1",
    "amount": 30,
    "currency_name": "USD",
    "items": {
		"1": {
			"name": "Test Item 1",
            "Quantity":"1",
			"price": 10
		},
		"2": {
			"name": "Test Item 2",
			"price": 20
		}
	}
}',
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer {{API_KEY}}',
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
import requests
import json

url = "{{BASE_URL}}/v2/create-invoice"

payload = json.dumps({
  "name": "api Invoice test",
  "invoice_number": "1234",
  "subject": "API test",
  "description": "Rent for Q1",
  "amount": 30,
  "currency_name": "USD",
  "items": {
    "1": {
      "name": "Test Item 1",
      "Quantity": "1",
      "price": 10
    },
    "2": {
      "name": "Test Item 2",
      "price": 20
    }
  }
})
headers = {
  'Authorization': 'Bearer {{API_KEY}}',
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
Field
Description
Example

name

Name of your customer

"API Invoice test"

invoice_number

The number of the invoice (optional). Can accept any character

"1234"

subject

Subject as you'd like it to appear

"API test"

description

Description of items in the invoice

"Rent for Q1"

amount

The amount as a string

"100.05"

currency_name

The ISO-4217 currency

"USD"

items

List of items in JSON format

{ "1": { "name": "Test Item 1", "Quantity":"1", "price": 10 }, "2": { "name": "Test Item 2", "price": 20 } }

Create an invoice.

POST https://merchant.fcfpay.com/api/v2/create-invoice

Creates a new invoice.

Request Body

Name
Type
Description

name*

string

Name of your customer

invoice_number

string

The invoice number

amount*

decimal

The amount

description*

string

Description of items in the invoice

subject

String

Subject as you'd like it to appear

{
    "success": true,
    "data": {
        "checkout_page_url": "https://checkout.fcfpay.com/pay/JDJ5JDEwJG1rVldXaGVtTVZsTHZUbjkxUFJmSE9QQURvQzVjUDlucU9zQVEyUWo5SWNGRWs0Lkx3bFRP",
        "payment_status": "waiting"
    },
    "message": "Invoice successfully created. Waiting for the payment."
}
{
    "success": false,
    "data": [],
    "message": "Merchant Authentication problem!"
}

After order creation, our system will send you a checkout page URL. You should redirect your customers to that URL.

If you send information about items, this will be displayed on the checkout page:

PreviousCreate OrderNextDeposit Callback

Last updated 2 years ago