Jetpay Developer Guide
Send money
Use payment link to pay
8 min
use this flow when you want to send a jetpay branded payment page to your customer instead of collecting payment details directly in your platform, you create a credit and generate a single use payment link the customer follows the link and enters their bank details where they wish funds to be deposited to this flow is ideal for one time payments, invoices, or situations where you don’t want to manage payouts directly prerequisites docid zgmim7qkrraox9jjaqrl your docid\ aex0ssfndr xgalxg2 zf where funds will be deposited docid\ bzwf0wyooqbkgsfugenh0 flow overview sequencediagram actor customer participant platform backend participant jetpay platform backend >>jetpay put /credit (amount, contact id, statement, note) jetpay >>platform backend credit transaction id + payment link url platform backend >>customer send payment link url customer >>jetpay open payment link and enter bank details jetpay >>platform backend webhook credit status update (initiated, completed, etc ) implementation details create a contact if you are not yet familiar with creating contacts with jetpay, please review the docid\ bzwf0wyooqbkgsfugenh0 guide create a credit and generate payment link endpoint put /credit https //extapi jetpay baselinepayments com/docs#tag/transactions (v0)/operation/create credit credit put use your contact id ( contact id ) and your merchant bank account id ( from bank account ) to create a credit transaction base url="https //extapi demo jetpay baselinepayments com" api token="\<your api token>" curl x put "$base url/credit" \\ h "authorization bearer $api token" \\ h "content type application/json" \\ d '{ "amount" 10000, "statement" "test statement", "note" "test note", "from bank account" "platform bank abc", "contact id" "contact 123" }'import requests base url = "https //extapi demo jetpay baselinepayments com" api token = "\<your api token>" headers = { "authorization" f"bearer {api token}", "content type" "application/json" } payload = { "amount" 10000, "statement" "test statement", "note" "test note", "from bank account" "platform bank abc", "contact id" "contact 123" } response = requests put(f"{base url}/credit", headers=headers, json=payload) credit = response json() print(credit)const base url = "https //extapi demo jetpay baselinepayments com"; const api token = "\<your api token>"; const headers = { "authorization" `bearer ${api token}`, "content type" "application/json" }; const payload = { amount 10000, statement "test statement", note "test note", from bank account "platform bank abc", contact id "contact 123" }; async function createdebit() { const res = await fetch(`${base url}/credit`, { method "put", headers, body json stringify(payload) }); const credit = await res json(); console log(credit); handle the response if the credit is successfully created, a response will be returned with an http status code of 200 and the following response body { "identifier" "credit 123", "link" "http //example com", "amount" 10000 } the returned link is what you will send to your customer this is a single use payment url that your customer will follow to complete the credit transaction the flow consists of them answering the security question, entering their payment details (bank account information), and accepting the payment the security question and answer is created when you onboard your company with jetpay it can be updated in the jetpay dashboard, under settings > security track status updates via events/webhooks as the transaction moves through its lifecycle, an event is created for each state update the most efficient way to track these updates in your system is to register for webhooks if you are not yet familiar with our webhooks system, please review the docid 79a4cgvetacholkpjyd5c guide