Este é o SDK oficial de checkout para Android (
com.dodopayments.api:checkout-android),
para abrir o checkout hospedado do Dodo. Ele é diferente do
SDK Kotlin de backend, que chama a API do Dodo
Payments a partir do seu servidor.Checkout Sessions API
Crie o
checkout_url que este SDK abreMobile Integration Guide
Práticas recomendadas para fluxos de checkout móvel
androidx.browser.customtabs. Ele não contém nenhum código de rede e não armazena nenhuma chave de API. Você passa um checkoutUrl da sessão de checkout do seu backend, e o SDK retorna um CheckoutResult tipado quando o usuário conclui ou abandona o fluxo.
Requisitos: minSdk 23, Kotlin, Java 17.
Instalação
1
Add the Dependency
build.gradle.kts
2
Register a Callback URL Scheme
Defina seu esquema de callback como um placeholder de manifesto do Gradle. O manifesto da própria biblioteca já declara o intent filter da atividade de redirecionamento usando o token O valor deve corresponder ao esquema em
${dodoCallbackScheme}, portanto esta única propriedade é toda a configuração necessária —
você não adiciona nenhum XML de manifesto:build.gradle.kts
CheckoutParams.returnUrl (por exemplo,
myapp://checkout/return).Se você omitir completamente o placeholder, o build falhará imediatamente com um erro de placeholder não resolvido, em vez de falhar silenciosamente no momento do checkout. Se você defini-lo, mas ele não corresponder ao esquema de
returnUrl, DodoCheckout.start lançará PLATFORM_ERROR antes de apresentar qualquer conteúdo.Uso
O SDK oferece suporte a dois estilos de invocação.- Launcher (Recommended)
- Suspend Function
Registre o contrato com
registerForActivityResult e inicie-o:O que o resultado significa
CheckoutStatus
obrigatório
Um entre
SUCCEEDED, FAILED, CANCELLED, PENDING, EXPIRED.String?
Definido quando a URL de retorno incluiu um. Exiba-o na UI; não o use para conceder acesso. Consulte Verificar o pagamento abaixo.
String?
Definido para checkouts de assinatura.
List<String>?
Definido quando o checkout inclui produtos com chaves de licença.
String?
Definido quando o checkout coleta um e-mail.
Map<String, String>
Todos os parâmetros de consulta da URL de retorno, literalmente.
Verificar o pagamento
Webhooks
Ouça os eventos de pagamento em tempo real
Get Payment Detail
Consulte o status do pagamento sob demanda
CheckoutResult.status.
Erros
DodoCheckout.start lança CheckoutError somente em caso de uso incorreto ou falha da plataforma. Leia o código de CheckoutError.code:
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á há um checkout em execução.PLATFORM_ERROR: falha inesperada da plataforma, incluindo umreturnUrlcujo esquema não corresponde ao seu placeholderdodoCallbackScheme.
CANCELLED ou
FAILED), nunca um erro lançado. No estilo launcher, erros de validação são lançados para fora de launcher.launch(...).
Sessões abandonadas
Se o app for encerrado ou o usuário o interromper à força durante o checkout, o SDK armazenará a sessão localmente. Na próxima inicialização do app, verifique se há uma sessão abandonada e faça a conciliação com seu backend:abandoned.createdAt é um timestamp de época em milissegundos.
Relacionado
Mobile Integration Guide
Práticas recomendadas para fluxos de checkout móvel
Kotlin SDK
SDK de backend para operações no lado do servidor