# Transactions

Create, manage and verify your PayFlexi transactions with the guide below:

TIP

Use one of our predefined test users when you are in test mode, do not use your real customer data.

# Initiate Transaction

POST 'https://api.payflexi.co/merchants/transactions'

curl -X POST 'https://api.payflexi.co/merchants/transactions' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer pf_test_sk_HhjQQI0VIUQWKqWkCW6hTC7qJa3qsPPvjiozL5wp' \
-d '{
	"amount": 5000,
	"name": "Adebisi Kalu",
	"email": "adebisi@payflex.test",
	"domain": "savings"
}'
Success Response - 200 OK
{
    "errors": false,
    "message": "Transaction initiated",
    "reference": "7f12d42e125f2b0",
    "checkout_url": "https://savings.checkout.payflexi.co/7f12d42e125f2b0"
}

Redirect customer to the URL returned as checkout_url to complete transaction.

Failure Response - 401 Unauthorized
{
    "message": "Unauthenticated."
}
Failure Response - 422 Unprocessable Entity
{
    "message": "The given data was invalid.",
    "errors": {
        "domain": [
            "The selected domain is invalid."
        ]
    }
}

# Request Params

'*' indicates required parameters.

Option Description
amount* (integer/float) The total amount (in Naira) you want buyer to pay small small over a period of time as set your settings page
email* (string) Your customer's email
name* (string) Your customer's name or some identifier
reference (string) An optional reference or some identifier for this order. We would assign your transaction an automatic reference if this is not passed
meta (object) Use this to pass through any optional custom data you want associated with this order or transaction
domain* (string) Send us one of 'savings', 'financing', 'partial', 'full' to indicate the type of transaction/checkout you are initiating. Note: only 'savings' is accepted at this time
callback_url (string) An optional URL you want us to redirect your customer to after payment is completed