Poof Payments API

Create custom flows for processing payments

Poof API is a fast, lightweight, and simple REST programmable API for processing payments across all popular payment systems and gateways. With Poof's API, you will be able to create your own custom payment flows, accept payments, automate payments, or create your own payment service.

Pay with Poof

Collect Payments with Poof hosted checkout

Poof offers a sleek hosted checkout to allow you to collect customer information and payments at checkout. Linking Credit Cards payments or Cryptocurrency payments on Poof will automatically appear at checkout.

Payment Button for Poof Checkout

Embedding a payment button on your website is a quick and easy way to start accepting cryptocurrency and credit card payments payments.

Insert this line of code where you want the button to be displayed.

<button class="poof" id="poof" onclick="request()"> </button>

Next, add the script elements to the end of your file.

<script src="https://www.poof.io/static/api/checkout_v2.js"></script>
<script src="https://www.poof.io/static/api/sdk.js"></script>
<script> const payload = { "username": "Poof", "amount": "10", "fields": ["Email", "Name"], "redirect": "https://www.poof.io/" } </script>

Your button will create a checkout page on your website. You can replace fields such as "Username" to your own, or modify the amounts listed.

Poof! It's this easy to accept payments.

Creating a Checkout Link

You can create checkout sessions for users and collect payments in just a few minutes. No authentication is required when calling this endpoint. Instant Checkouts do not require an API key and can be done through adding a username in your POST request.

This endpoint is the best way to customize the way how you display checkout to customers.

username string

Your username on Poof

amount string

The amount charged in your set currency.

fields array

Optional forms you want to display, an example is: ["Email", "Name"]

redirect string (optional)

Redirect page in the case that the checkout is cancelled.

success_url string(optional)

Redirect page when the checkout succeeds.

product_id string (optional)

Add products to your checkout display. An example is: "product_uuid"

product_quantity string (optional)

Add products amounts to checkout. An example is: "5"

default dict (optional)

Prefill form values in checkout. Example: "default": {"name": "Bob", "email": "[email protected]"}

metadata dict (optional)

Include your own data about the checkout {"user": "Account_134", "type": "invoice"}

Returns

Poof returns to you a checkout link after receiving a POST. You can redirect customers to the checkout link or host it with a whitelabel in an Iframe on your website.

String Text

"https://www.poof.io/checkout/session/eyJ1c2VybmF"


POST /api/v1/checkout

Authentication

To get started, sign in to to Poof to retrieve your API key and add the key to the Authorization header when making a request.

Get Started: Sign in to Poof to get your API Key.

Headers

To call any endpoint, pass in the headersfield in your POST/GET requests.

Call the website https://www.poof.iofollowed by the endpoint URL for making POST/GET requests.

headers
"Content-Type"

"application/json"

"Authorization"

"Your_API_Key"

A POST example in Python would be

json= {"amount": '15', "crypto": "BTC", "currency": "USD", "redirect": "https://www.poof.io"}
headers= {"Content-Type": "application/json", "Authorization": "Your_API_Key"}
r= requests.post("https://www.poof.io/api/v1/create_invoice", json = json, headers = headers)
print (r.json())

Cryptocurrency API

Poof offers an cryptocurrency API for Bitcoin, Litecoin, and Dogecoin. All EVM-compatible blockchains and respective tokens will be added to the API in the next version update.

The payouts endpoint is disabled for users with external wallets.

Create Blockchain Wallets

Create an HD wallet for different networks. You can use other endpoints to programatically create addresses to deposit funds into your wallet and send payouts. Each account is limited to one wallet per network, but can generate an infinite amount sub-wallets and addresses. This is the system commonly used in cryptocurrency exchanges or payment processors.

currency String

Currency Name (Example: "bitcoin", "polygon", "ethereum")

Returns

status String

200

message String

wallet created


POST /api/v2/create_wallet

Create Charge / Blockchain Addresses

Generate a cryptocurrency addresses to your HD wallet. Poof will monitor each address generated for at least 15 minutes for any balance changes.

Payment updates to the address can be automatically sent via webhooks or fetching the balance with Poof API.

amount String

USD amount of transaction charge.

crypto String

Base currency of invoice charge (Example: "litecoin", "ethereum", "avalanche")

Returns

address String

0x63c97DFDfaefF54A50155088690D40dF0A49c66f

amount String

15

charge String

0.01152 (currency such as Ethereum)

crypto String

ethereum

currency String

USD

rate String

1301.92


POST /api/v2/create_charge

Create Cryptocurrency Invoice

Create a cryptocurrency invoice in the respective cryptocurrency you provide Poof. Redirect customers to the page link at checkout or host the invoice an iFrame on your website.

amount String

Total amount of transaction (Example "15")

crypto String

Crypto being invoice (Example: "BTC", "LTC", "DOGE")

currency String

Currency type of invoice (Example: "BTC", "CNY", "LTC", "USD", "EUR")

redirect String

Customer redirect after payment is complete (Example: "https://www.poof.io")

Returns

amount String

15

crypto String

LTC

currency String

USD

payment_link String

https://crypto.poof.io/i/WMuSXD5y5T4k3TdZD2oPuz

redirect String

https://www.poof.io


POST /api/v1/create_invoice

Create Payout

Create a payout in the respective cryptocurrency you provide Poof.

amount String

".001"

crypto String

Crypto being sent (Example: "BTC", "LTC", "DOGE")

address String

Destination of payment

Returns

address String

"ltc95jrehwtjweoirew891"

amount "String"

".001"

remaining_balance String

".04019"

transaction_id String

1e739dbcd328594bwjcmopwrjfcak962469tjrefoew039ef

redirect String

https://www.poof.io


POST /api/v1/payouts

Fetch Wallet Balance

This endpoint fetches your current cryptocurrency balance for Poof Wallets, available for payouts.

crypto String

Crypto ticker symbol of wallet (Example: "BTC", "LTC", "DOGE")

Returns

balance String

"0.03961524"

crypto String

LTC


POST /api/v1/balance

Payment Gateways

Accept fiat payments on your website and create custom payment flows with Poof tracking payments in the backend.

Fiat payments include systems from Cash App to Paypal. Base currencies are currently defaulted to USD.

Create an Invoice

Create a direct link for processing the respective payment system.

amount decimal

15

payment String

cashapp, paypal, coinbase

currency String

USD

redirect_url String

https://www.poof.io

success_url string

Redirect page when the checkout succeeds.

Returns

amount Decimal

15

currency String

USD

payment String

paypal

payment_link String

https://poof.io/poof/cashapp/519375319


POST /api/v1/create_fiat_invoice

Create an Fiat Charge

Create your own payment processor or payment flows with Poof processing payments in the backend.

amount decimal

15

payment String

paypal

currency String

USD

redirect_url String

https://www.poof.io

success_url string

Redirect page when the checkout succeeds.

Returns

amount Decimal

15

currency String

USD

payment String

Paypal

payment_link String

https://poof.io/paypal/294590

qr_code String

''

tracking_id String

294590


POST /api/v1/create_fiat_charge

Notifications

Subscribe to webhook notifications by adding an endpoint to the Webhook subscriptions section on the developers page within Poof. Click add an endpoint to add the URL where you’d like to receive webhooks.

You’ll be prompted to enter the endpoint URL (https only) where you’d like to receive webhooks.

Create a Webhook

You can subscribe to recurring payment notifications through Poof webhooks. Create a webhook programatically or through the Poof Dashboard.

url string

"https://www.poof.io/example_route"

Returns

status String

"webhook created" or "failure to create webhook, you are over the limit"

url String

"https://www.poof.io/example_route"


POST /api/v1/create_webhook

Webhook Response

This section provides an example JSON response of a Webhook notification Poof sends to your server. Webhooks are the best way to add automations to payments and receive notifications.

Payload

amount String

Total amount of payment received (Example: 105.35)


payment_method

Type of payment received


Possible payment values
btc
ltc
doge
skrill
cashapp
paypal
coinbase
cashapp
credit card

credit card is the synonymous for Stripe and Apple Paypayments

currency String

Local currency (ex. USD)

payment_id String

Payment ID representing the transaction

name String

Name of the customer if provided(ex. Joe Bob)

email String

Email of the customer if provided(ex. [email protected])

items String

Items if provided at checkout (Ex. "Skincare Lotion")

quantities String

Quantities if provided at checkout (Ex. "1")

date String

Date of transaction UST (Ex. "Aug 12, 22:51 PM 2021")

note String

Optional field if created at checkout (Ex. "Discord Username")


Example Webhook Response


     {"amount": "15", "payment_method":"btc", 
     currency: "USD", "payment_id": "1ktew9pzaw", 
     "name": "Joe Swan", "email: "[email protected]", 
     "items": "", "quantities": "", 
     "date": "Aug 13, 22:51 PM 2021", "note": ""}


                 

Notifications

Subscribe to webhook notifications by adding an endpoint to the Webhook subscriptions section on the developers page within Poof. Click add an endpoint to add the URL where you’d like to receive webhooks.

You’ll be prompted to enter the endpoint URL (https only) where you’d like to receive webhooks.

Create a Webhook

You can subscribe to recurring payment notifications through Poof webhooks. Create a webhook programatically or through the Poof Dashboard.

url string

"https://www.poof.io/example_route"

Returns

status String

"webhook created" or "failure to create webhook, you are over the limit"

url String

"https://www.poof.io/example_route"


POST /api/v1/create_webhook

Webhook Response

This section provides an example JSON response of a Webhook notification Poof sends to your server. Webhooks are the best way to add automations to payments and receive notifications.

Payload

amount String

Total amount of payment received (Example: 105.35)


payment_method

Type of payment received


Possible payment values
btc
ltc
doge
skrill
cashapp
paypal
coinbase
cashapp
credit card

credit card is the synonymous for Stripe and Apple Paypayments

currency String

Local currency (ex. USD)

payment_id String

Payment ID representing the transaction

name String

Name of the customer if provided(ex. Joe Bob)

email String

Email of the customer if provided(ex. [email protected])

items String

Items if provided at checkout (Ex. "Skincare Lotion")

quantities String

Quantities if provided at checkout (Ex. "1")

date String

Date of transaction UST (Ex. "Aug 12, 22:51 PM 2021")

note String

Optional field if created at checkout (Ex. "Discord Username")


Example Webhook Response


     {"amount": "15", "payment_method":"btc", 
     currency: "USD", "payment_id": "1ktew9pzaw", 
     "name": "Joe Swan", "email: "[email protected]", 
     "items": "", "quantities": "", 
     "date": "Aug 13, 22:51 PM 2021", "note": ""}


                 

Transactions

Any use of an a payment from your Poof account, such as a completed purchase, is represented by a Transaction object.

You can fetch any payments and transactions with this endpoint.

POST /api/v1/transaction
POST /api/v1/fetch_transactions

Fetch Transaction Data

You can this endpoint to fetch the data from any given transaction in your Poof account. You can see payment IDs in your dashboard, saving transaction IDs in your database from webhooks, or by querying the endpoint for your transaction history.

transaction string

The transaction ID of the payment

Returns

amount String

"25.00"

currency String

"USD

date String

"Aug 23, 02:54 AM 2021"

email String

"[email protected]"

items String

"Coffee Cup" or None

name String

"John Doe"

note String

"Custom Form Example"

payment_id String

"85945902813"

payment_method String

"skrill"

quantities String

"5" - Optional Field for Purchased Item Amount


POST /api/v1/transaction

Fetch Transaction List

You can this endpoint to fetch all data from your transactions in your Poof account.

Returns

transaction String

"wtw1390t3jitw89"

data Dict

{"payment method": "coinbase"...}


POST /api/v1/fetch_transactions