Learn how to change your Stripe payout schedule step-by-step using the dashboard or API. Set daily, weekly, monthly, or manual payouts to fit your business needs.
Book a call with an Expert
Starting a new venture? Need to upgrade your web app? RapidDev builds application with your growth in mind.
How to Change Payout Schedule in Stripe: A Comprehensive Tutorial
Introduction
Stripe allows businesses to customize when they receive their payouts. Whether you want to receive funds daily, weekly, monthly, or on a custom schedule, Stripe offers flexibility to match your business needs. This tutorial will guide you through the process of changing your payout schedule in Stripe, covering both the dashboard method and the API approach.
Step 1: Log into your Stripe Dashboard
First, you need to access your Stripe account:
Step 2: Navigate to the Payout Settings
Once logged in, you need to find the payout settings section:
Step 3: Update Your Payout Schedule via Dashboard
In the payout settings page, you can modify your schedule:
Step 4: Understanding Payout Schedule Options
Stripe offers several payout schedule options:
Step 5: Changing Payout Schedule via Stripe API
For developers who prefer using the API, you can programmatically update your payout schedule:
const stripe = require('stripe')('sk_test_your_secret_key');
// Update account to use a custom payout schedule
const updateAccount = async () => {
try {
const account = await stripe.accounts.update('acct\_123456789', {
settings: {
payouts: {
schedule: {
interval: 'weekly', // Can be 'daily', 'weekly', 'monthly', or 'manual'
weekly\_anchor: 'monday', // Required if interval is 'weekly'
// monthly\_anchor: 28, // Required if interval is 'monthly', between 1-31
},
},
},
});
console.log('Payout schedule updated successfully');
console.log(account.settings.payouts.schedule);
} catch (error) {
console.error('Error updating payout schedule:', error);
}
};
updateAccount();
Step 6: Setting a Monthly Payout Schedule via API
If you want to receive payouts monthly, use this code:
const stripe = require('stripe')('sk_test_your_secret_key');
// Set monthly payout schedule for the 15th of each month
const setMonthlyPayout = async () => {
try {
const account = await stripe.accounts.update('acct\_123456789', {
settings: {
payouts: {
schedule: {
interval: 'monthly',
monthly\_anchor: 15, // Payout on the 15th of each month
},
},
},
});
console.log('Monthly payout schedule set successfully');
console.log(account.settings.payouts.schedule);
} catch (error) {
console.error('Error setting monthly payout schedule:', error);
}
};
setMonthlyPayout();
Step 7: Setting a Daily Payout Schedule via API
For daily payouts, use this API call:
const stripe = require('stripe')('sk_test_your_secret_key');
// Set daily payout schedule
const setDailyPayout = async () => {
try {
const account = await stripe.accounts.update('acct\_123456789', {
settings: {
payouts: {
schedule: {
interval: 'daily',
// Optional: specify delay days
delay\_days: 2, // Number of days to delay payout
},
},
},
});
console.log('Daily payout schedule set successfully');
console.log(account.settings.payouts.schedule);
} catch (error) {
console.error('Error setting daily payout schedule:', error);
}
};
setDailyPayout();
Step 8: Setting Manual Payouts via API
If you prefer to trigger payouts manually:
const stripe = require('stripe')('sk_test_your_secret_key');
// Set manual payout schedule
const setManualPayout = async () => {
try {
const account = await stripe.accounts.update('acct\_123456789', {
settings: {
payouts: {
schedule: {
interval: 'manual',
},
},
},
});
console.log('Manual payout schedule set successfully');
console.log(account.settings.payouts.schedule);
} catch (error) {
console.error('Error setting manual payout schedule:', error);
}
};
setManualPayout();
Step 9: Creating a Manual Payout
If you've set your schedule to manual, you'll need to create payouts yourself:
const stripe = require('stripe')('sk_test_your_secret_key');
// Create a manual payout
const createManualPayout = async () => {
try {
const payout = await stripe.payouts.create({
amount: 1000, // Amount in cents (10.00 USD)
currency: 'usd',
description: 'Manual payout for July'
});
console.log('Manual payout created successfully');
console.log(`Payout ID: ${payout.id}`);
console.log(`Amount: ${payout.amount / 100} ${payout.currency.toUpperCase()}`);
console.log(`Status: ${payout.status}`);
} catch (error) {
console.error('Error creating manual payout:', error);
}
};
createManualPayout();
Step 10: Checking Your Current Payout Schedule via API
To verify your current payout schedule:
const stripe = require('stripe')('sk_test_your_secret_key');
// Retrieve current payout schedule
const getPayoutSchedule = async () => {
try {
const account = await stripe.accounts.retrieve('acct\_123456789');
console.log('Current payout schedule:');
console.log(account.settings.payouts.schedule);
} catch (error) {
console.error('Error retrieving payout schedule:', error);
}
};
getPayoutSchedule();
Step 11: Setting a Custom Payout Schedule with a Specific Cutoff Time
If you need a more customized schedule with a specific cutoff time:
const stripe = require('stripe')('sk_test_your_secret_key');
// Set weekly payout with custom cutoff time
const setCustomPayout = async () => {
try {
const account = await stripe.accounts.update('acct\_123456789', {
settings: {
payouts: {
schedule: {
interval: 'weekly',
weekly\_anchor: 'friday',
delay\_days: 2,
},
statement\_descriptor: 'Your Business Name', // Optional: appears on bank statements
},
},
});
console.log('Custom payout schedule set successfully');
console.log(account.settings.payouts.schedule);
} catch (error) {
console.error('Error setting custom payout schedule:', error);
}
};
setCustomPayout();
Step 12: Troubleshooting Common Issues
If you encounter problems while changing your payout schedule:
Conclusion
Changing your payout schedule in Stripe is straightforward, whether you prefer using the dashboard or the API. By customizing when you receive your funds, you can better align your cash flow with your business needs. Remember that certain changes to your payout schedule may take effect after your next scheduled payout, so plan accordingly.
When it comes to serving you, we sweat the little things. That’s why our work makes a big impact.