Skip to main content
The Dodo Payments plugin syncs data locally. Use corsair.dodopayments.db.<entity>.search({ data, limit?, offset? }) with the filters listed per entity.

Customers

Path: dodopayments.db.customers.search
const rows = await corsair.dodopayments.db.customers.search({
    data: { /* filters below */ },
    limit: 100,
    offset: 0,
});

Searchable filters

FieldTypeOperators
entity_idstringequals, contains, startsWith, endsWith, in
idstringequals, contains, startsWith, endsWith, in
namestringequals, contains, startsWith, endsWith, in
emailstringequals, contains, startsWith, endsWith, in
phone_numberstringequals, contains, startsWith, endsWith, in
created_atstringequals, contains, startsWith, endsWith, in
createdAtdateequals, before, after, between
Every .search() also accepts limit and offset for pagination. .list() is available on the same path without the .search suffix in code — see database operations.

Payments

Path: dodopayments.db.payments.search
const rows = await corsair.dodopayments.db.payments.search({
    data: { /* filters below */ },
    limit: 100,
    offset: 0,
});

Searchable filters

FieldTypeOperators
entity_idstringequals, contains, startsWith, endsWith, in
idstringequals, contains, startsWith, endsWith, in
amountnumberequals, gt, gte, lt, lte, in
currencystringequals, contains, startsWith, endsWith, in
statusstringequals, contains, startsWith, endsWith, in
customer_idstringequals, contains, startsWith, endsWith, in
subscription_idstringequals, contains, startsWith, endsWith, in
payment_linkstringequals, contains, startsWith, endsWith, in
created_atstringequals, contains, startsWith, endsWith, in
createdAtdateequals, before, after, between
Every .search() also accepts limit and offset for pagination. .list() is available on the same path without the .search suffix in code — see database operations.

Refunds

Path: dodopayments.db.refunds.search
const rows = await corsair.dodopayments.db.refunds.search({
    data: { /* filters below */ },
    limit: 100,
    offset: 0,
});

Searchable filters

FieldTypeOperators
entity_idstringequals, contains, startsWith, endsWith, in
idstringequals, contains, startsWith, endsWith, in
payment_idstringequals, contains, startsWith, endsWith, in
amountnumberequals, gt, gte, lt, lte, in
statusstringequals, contains, startsWith, endsWith, in
reasonstringequals, contains, startsWith, endsWith, in
created_atstringequals, contains, startsWith, endsWith, in
createdAtdateequals, before, after, between
Every .search() also accepts limit and offset for pagination. .list() is available on the same path without the .search suffix in code — see database operations.

Subscriptions

Path: dodopayments.db.subscriptions.search
const rows = await corsair.dodopayments.db.subscriptions.search({
    data: { /* filters below */ },
    limit: 100,
    offset: 0,
});

Searchable filters

FieldTypeOperators
entity_idstringequals, contains, startsWith, endsWith, in
idstringequals, contains, startsWith, endsWith, in
customer_idstringequals, contains, startsWith, endsWith, in
plan_idstringequals, contains, startsWith, endsWith, in
statusstringequals, contains, startsWith, endsWith, in
created_atstringequals, contains, startsWith, endsWith, in
createdAtdateequals, before, after, between
Every .search() also accepts limit and offset for pagination. .list() is available on the same path without the .search suffix in code — see database operations.