Create a payment
Payments are created to transfer funds from one account to another. This could either be between two ACH accounts, or from an ACH account to a Liability account. Below are requirements to successfully create a payment:
- A source account with
the
payments:send
capability owned by an entity with the samepayments:send
capability. - A destination account with
the
payments:receive
capability owned by an entity with the samepayments:receive
capability. - A description that is 10 characters or less.
- An amount that is at least $1.00
caution
If the following requirements above are met, a payment can be created with any source account within your organization to any destination account within your organization regardless of the holder/entity.
Example: Peter owns a Chase Checking. Sandy owns a FedLoan account. A payment can be sent from Peter's Chase to Sandy's FedLoan.
note
Once a payment is created, it usually takes 3 business days for the payment to be completed. Based on limits set for your organization, some payments may take more time.
âšī¸ See the payment object for details on the API.
Payment requestâ
- cURL
- Node.js
- Python
/payments
curl https://production.methodfi.com/payments \
-X POST \
-H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc" \
-H "Content-Type: application/json" \
-d '{
"amount": 5000,
"source": "acc_JMJZT6r7iHi8e",
"destination": "acc_AXthnzpBnxxWP",
"description": "Loan Pmt"
}'
/payments
const payment = await method.payments.create({
amount: 5000,
source: 'acc_JMJZT6r7iHi8e',
destination: 'acc_AXthnzpBnxxWP',
description: 'Loan Pmt',
});
/payments
payment = method.payments.create({
'amount': 5000,
'source': 'acc_JMJZT6r7iHi8e',
'destination': 'acc_AXthnzpBnxxWP',
'description': 'Loan Pmt'
})
{
"id": "pmt_rPrDPEwyCVUcm",
"reversal_id": null,
"source_trace_id": null,
"destination_trace_id": null,
"source": "acc_JMJZT6r7iHi8e",
"destination": "acc_AXthnzpBnxxWP",
"amount": 5000,
"description": "Loan Pmt",
"status": "pending",
"error": null,
"metadata": null,
"estimated_completion_date": "2020-12-11",
"source_settlement_date": "2020-12-09",
"destination_settlement_date": "2020-12-11",
"fee": null,
"created_at": "2020-12-09T00:42:31.209Z",
"updated_at": "2020-12-09T00:43:30.996Z"
}
Payment limitsâ
Payment limits are set for each organization on each environment. This is to prevent fraud, and to reduce the risk of having returned payments.
Next stepsâ
In the next topic, we'll learn about the different lifecycle statuses a payment will transition into after it is created.