PayMitto Configuration
Definition
export type PayMittoConfiguration = {
environment: PayMittoEnvironment;
appearance?: PayMittoAppearance | null;
supportedAppearance?: PayMittoSupportedAppearance;
defaultCountry?: PayMittoDefaultCountry | null;
idleTimeoutInterval?: number | null;
localization?: PayMittoLocalization;
remittanceServiceProvider?: PayMittoRemittanceServiceProvider | null;
sourceAccounts?: PayMittoSourceAccount[] | null;
transferMethod?: PayMittoTransferMethod | null;
}Properties
| Property | Type | Description |
|---|---|---|
| environment | PayMittoEnvironment | Operating environment (Production, Sandbox) |
| appearance | PayMittoAppearance | null | Optional JSON theme configuration for colors, fonts, and content |
| supportedAppearance | PayMittoSupportedAppearance | Appearance mode: Light, Dark, or Device (follows system) |
| defaultCountry | PayMittoDefaultCountry | null | Optional ISO 3166-1 alpha-3 default; null disables |
| idleTimeoutInterval | number | null | Optional inactivity timeout in seconds; null disables |
| localization | PayMittoLocalization | UI language (en-US, es-MX) |
| remittanceServiceProvider | PayMittoRemittanceServiceProvider | null | Preferred provider or null for user choice |
| sourceAccounts | PayMittoSourceAccount[] | null | Optional pre-fetched source accounts |
| transferMethod | PayMittoTransferMethod | null | Preferred method or null for user choice |
Defaults
| Property | Default Value |
|---|---|
| appearance | null (SDK default theme) |
| supportedAppearance | Device (follows system setting) |
| defaultCountry | null |
| idleTimeoutInterval | null (disabled) |
| localization | en-US |
| remittanceServiceProvider | null (user choice) |
| sourceAccounts | null (no pre-fetched accounts) |
| transferMethod | null (user choice) |
Examples
Minimal Configuration
The simplest way to start the SDK:
import { startSDK, PayMittoEnvironment } from 'react-native-paymitto-sdk';
startSDK({
configuration: {
environment: PayMittoEnvironment.Sandbox,
},
fetchAccessTokenDetails: async () => ({
accessToken: 'your-access-token',
expiresIn: 3600,
scope: 'paymitto:write',
tokenType: 'Bearer',
}),
verifyFundsAndCreateTransfer: async () => ({ transferId: 'TXN123' }),
});Full Configuration
Complete example with all optional properties:
import {
startSDK,
PayMittoEnvironment,
PayMittoSupportedAppearance,
PayMittoLocalization,
PayMittoRemittanceServiceProvider,
PayMittoTransferMethod,
PayMittoDefaultCountry,
type PayMittoAppearance,
type PayMittoConfiguration,
} from 'react-native-paymitto-sdk';
// Theme customization
const appearance: PayMittoAppearance = {
foundations: {
colorPrimary: { light: '#4451F6', dark: '#7B86FF' },
colorBackground: { light: '#F8F6F3', dark: '#121110' },
fontFamily: 'sf pro',
},
components: {
button: {
buttonRadius: 8,
buttonTextCase: 'capitalize',
},
content: {
contentHomepageHeadline: 'Send money internationally',
contentHomepageDescription: 'Send funds to your recipients with convenience and flexibility.',
},
},
};
// Full configuration
const config: PayMittoConfiguration = {
environment: PayMittoEnvironment.Sandbox,
appearance: appearance,
supportedAppearance: PayMittoSupportedAppearance.Device,
defaultCountry: PayMittoDefaultCountry.MEXICO,
idleTimeoutInterval: 300,
localization: PayMittoLocalization.EN_US,
remittanceServiceProvider: PayMittoRemittanceServiceProvider.VISA,
sourceAccounts: [
{ alias: 'Main Card', balance: 1500, last4: '1234', sourceProviderId: 'provider-1' },
],
transferMethod: PayMittoTransferMethod.PUSH_TO_CARD,
};
startSDK({
configuration: config,
fetchAccessTokenDetails: async () => ({
accessToken: 'your-access-token',
expiresIn: 3600,
scope: 'paymitto:write',
tokenType: 'Bearer',
}),
verifyFundsAndCreateTransfer: async (request) => ({ transferId: 'TXN123456789' }),
onLoad: async () => console.log('SDK loaded'),
onClose: async () => console.log('SDK closed'),
});Updated about 23 hours ago
