Este é o SDK oficial de checkout do Dodo Payments para React Native,
@dodopayments/react-native-checkout. Ele abre o checkout hospedado do Dodo em uma visualização de navegador nativa e retorna um resultado tipado. Observação: existe um pacote mais antigo e não relacionado chamado dodopayments-react-native-sdk (sem escopo), com uma API completamente diferente. Esta página documenta apenas o pacote oficial com escopo atual.Checkout Sessions API
Crie o checkout_url que este SDK abre a partir do seu backend.
Mobile Integration Guide
Veja como isso se encaixa no fluxo completo de pagamento móvel.
SFSafariViewController no iOS e uma Chrome Custom Tab no Android, não armazena nenhuma chave de API e nunca chama a API do Dodo diretamente. Toda a lógica do checkout é executada no navegador; o SDK simplesmente gerencia o ciclo de vida da visualização e captura a URL de retorno.
Instalação
1
Install the Package
- Android
- iOS
- Expo
O pacote é vinculado automaticamente e obtém Não é necessária nenhuma configuração adicional; a dependência nativa é resolvida automaticamente.
com.dodopayments.api:checkout-android do Maven.2
Register a Callback URL Scheme
Seu app deve registrar um esquema de URL para receber a URL de retorno do checkout.
- Android (Gradle)
- iOS (Info.plist)
- Expo (both platforms)
Em Substitua
android/app/build.gradle:android/app/build.gradle
"myapp" pelo esquema do seu app.Uso
Encaminhamento da URL de retorno
O listenerLinking é necessário para o tratamento da URL de retorno no iOS. No Android, handleOpenURL é uma operação no-op que resolve false porque o núcleo do Android gerencia o redirecionamento nativamente. É seguro registrar o listener incondicionalmente em ambas as plataformas.
O significado do resultado
CheckoutStatus
obrigatório
Um de
succeeded, failed, cancelled, pending, expired.string
Definido quando a URL de retorno incluía um. Exiba-o na UI, mas não o use para conceder acesso. Consulte Verificar o pagamento abaixo.
string
Definido para checkouts de assinatura.
string[]
Definido quando o checkout inclui produtos com chave de licença.
string
Definido quando o checkout captura um e-mail.
Record<string, string>
Todos os parâmetros de consulta da URL de retorno, literalmente.
Verificar o pagamento
Webhooks
O Dodo Payments chama o seu backend quando um pagamento é bem-sucedido ou uma assinatura é ativada.
Get Payment Detail
Consulte
paymentId usando a sua chave secreta para verificar o status diretamente.result.status.
Erros
start rejeita com um CheckoutError apenas em caso de uso incorreto ou falha da plataforma. Um pagamento cancelado ou recusado sempre é um resultado, nunca uma exceção.
INVALID_CHECKOUT_URL: não é uma URL de sessãocheckout.dodopayments.com.INVALID_RETURN_URL: não é uma URL absoluta válida.ALREADY_IN_PROGRESS: já existe um checkout em execução.PLATFORM_ERROR: falha inesperada da plataforma.
Sessões abandonadas
Se o app ou o bundle JS for encerrado durante o checkout, a promise será perdida, mas a camada nativa manterá a sessão. Recupere-a na próxima montagem e faça a reconciliação com o seu backend.Relacionado
Mobile Integration Guide
O mesmo contrato para Android, iOS e Flutter.
Expo Boilerplate
Um exemplo completo do Expo com integração de checkout.