Skip to main content

Create your first payment

✨ Method Payments allows you to push funds to any type of debt account (mortgage, student loan, credit cards, bills and more) at more than 10,000 financial institutions or loan servicers.

Steps​


1. Creating an entity​

For this step, we'll create an individual entity that will become the holder of the accounts. The holder entity is the legal owner of any account connected. Using an incorrect entity with an account will lead to payment failure.

â„šī¸ See entities to learn more.

Request​

POST /entities
curl https://dev.methodfi.com/entities \
-X POST \
-H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc" \
-H "Content-Type: application/json" \
-d '{
"type": "individual",
"individual": {
"first_name": "Kevin",
"last_name": "Doyle",
"phone": "+15121231111",
"email": "kevin.doyle@gmail.com",
"dob": "1997-03-18"
},
"address": {
"line1": "3300 N Interstate 35",
"line2": null,
"city": "Austin",
"state": "TX",
"zip": "78705"
}
}'
RESPONSE
{
"id": "ent_au22b1fbFJbp8",
"type": "individual",
"individual": {
"first_name": "Kevin",
"last_name": "Doyle",
"phone": "+15121231111",
"email": "kevin.doyle@gmail.com",
"dob": "1997-03-18"
},
"corporation": null,
"receive_only": null,
"address": {
"line1": "3300 N Interstate 35",
"line2": null,
"city": "Austin",
"state": "TX",
"zip": "78705"
},
"capabilities": [
"payments:send",
"payments:receive",
"data:sync"
],
"error": null,
"status": "active",
"metadata": null,
"created_at": "2020-12-09T00:40:51.107Z",
"updated_at": "2020-12-09T00:40:51.107Z"
}

2. Create a source account​

Now that we have an entity to hold accounts, we can create a source account for the entity we just created. This account will become our payment source later on. Source accounts can only be of type ach which includes checking/savings accounts.

â„šī¸ See source accounts to learn more

ACH Verification​

info

All ACH source accounts need to be verified. See ACH Verification to learn more

Request​

POST /accounts
curl https://dev.methodfi.com/accounts \
-X POST \
-H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc" \
-H "Content-Type: application/json" \
-d '{
"holder_id": "ent_au22b1fbFJbp8",
"ach": {
"routing": "367537407",
"number": "57838927",
"type": "checking"
}
}'
RESPONSE
{
"id": "acc_b9q2XVAnNFbp3",
"holder_id": "ent_au22b1fbFJbp8",
"type": "ach",
"ach": {
"routing": "367537407",
"number": "57838927",
"type": "checking"
},
"liability": null,
"clearing": null,
"metadata": null,
"status": "active",
"capabilities": [
"payments:receive",
"payments:send"
],
"error": null,
"created_at": "2020-12-09T00:40:51.107Z",
"updated_at": "2020-12-09T00:40:51.107Z"
}

3. Create a destination account​

Similar to the previous step, we need to create a destination account where the payment funds will be sent to. Destination accounts are liability accounts which includes any type of liability (personal loans, credit cards, student loans, etc.)

Using Method Data​

💡 You can automatically retrieve all of an entity's liabilities using Method Data. See the retrieve an entity's debts guide to learn more.

Demo​

Using API​

info

To use the direct API method on a live environment you need to be PCI Compliant. Please contact us for more info.

â„šī¸ See create an account to learn more

Request​

POST /accounts
curl https://dev.methodfi.com/accounts \
-X POST \
-H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc" \
-H "Content-Type: application/json" \
-d '{
"holder_id": "ent_au22b1fbFJbp8",
"liability": {
"mch_id": "mch_2",
"account_number": "1122334455"
}
}'
RESPONSE
{
"id": "acc_Zc4F2aTLt8CBt",
"holder_id": "ent_au22b1fbFJbp8",
"type": "liability",
"ach": null,
"liability": {
"mch_id": "mch_2",
"mask": "4455",
"type": "student_loan",
"data_status": "pending",
"data_last_successful_sync": null,
"student_loan": {
"name": "FedLoan Student Loan",
"sub_type": "federal",
"sequence": 6,
"balance": 1952634,
"last_payment_amount": 1150,
"last_payment_date": "2022-04-22",
"next_payment_due_date": "2022-10-28",
"next_payment_minimum_amount": 0,
"disbursed_at": "2018-01-22",
"interest_rate_percentage": 3.4,
"interest_rate_type": "fixed"
}
},
"clearing": null,
"metadata": null,
"status": "active",
"capabilities": [
"payments:receive",
"data:sync"
],
"error": null,
"created_at": "2020-12-09T02:56:19.548Z",
"updated_at": "2020-12-09T02:56:19.548Z"
}

4. Create your first payment​

You now have all the information you need to create your first payment. Using the source account's id (acc_b9q2XVAnNFbp3) and the destination accounts id (acc_Zc4F2aTLt8CBt), we'll create a $50 payment with the description Loan Pmt.

â„šī¸ See payments to learn more

Request​

POST /payments
curl https://dev.methodfi.com/payments \
-X POST \
-H "Authorization: Bearer sk_WyZEWVfTcH7GqmPzUPk65Vjc" \
-H "Content-Type: application/json" \
-d '{
"amount": 5000,
"source": "acc_b9q2XVAnNFbp3",
"destination": "acc_Zc4F2aTLt8CBt",
"description": "Loan Pmt"
}'
RESPONSE
{
"id": "pmt_rPrDPEwyCVUcm",
"reversal_id": null,
"source_trace_id": null,
"destination_trace_id": null,
"source": "acc_b9q2XVAnNFbp3",
"destination": "acc_Zc4F2aTLt8CBt",
"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"
}

🚀 It's that easy! The payment will be posted at the destination account in 2 business days.