Integração do SDK
Este guia fornece um processo abrangente para integrar o Apple Pay com o Yuno SDK para pagamentos únicos e recorrentes. O SDK simplifica a integração do Apple Pay ao lidar com o gerenciamento de token de pagamento e fornecer segurança integrada.
Configuração necessáriaAntes de implementar os pagamentos do Apple Pay, verifique se você concluiu os pré-requisitos.
Visão geral do Apple Pay
- O cliente inicia o pagamento em seu dispositivo iOS
- Receber
payment_tokenvia Apple SDK - Criar uma sessão de checkout com a Yuno
- O Yuno processa com seu(s) provedor(es) configurado(s) e retorna uma resposta
- Monitorar o status da resposta por meio de webhooks
Adicionar o recurso Apple Pay
Para adicionar o recurso Apple Pay ao seu aplicativo iOS:
- No Xcode, selecione seu projeto no navegador
- Selecione seu aplicativo de destino
- Vá para a guia Signing & Capabilities (Assinatura e recursos )
- Clique em + Recurso e procure por "Apple Pay"
- Adicionar o recurso Apple Pay
- Configure seus Merchant IDs na seção Apple Pay
Verifique se o ID do comerciante do Apple Pay corresponde ao configurado nas conexões do provedor do painel do Yuno.
Pagamentos únicos com SDK
Os pagamentos únicos do Apple Pay usando o SDK da Yuno proporcionam uma experiência de integração simplificada para transações imediatas.
Criar sessão de checkout
Use o endpoint criar sessão de checkout para criar uma sessão de pagamento para transações únicas do Apple Pay:
{
"country": "US",
"customer_id": "070a34cb-4649-4a4e-b231-065a53060379",
"merchant_order_id": "order-123",
"payment_description": "Apple Pay one-time payment",
"amount": {
"currency": "USD",
"value": 100
}
}Processar o pagamento
O SDK lida com o fluxo do Apple Pay automaticamente. Quando o cliente conclui a autorização do Apple Pay, o pagamento é processado imediatamente.
Pagamentos recorrentes com SDK
O SDK simplifica os pagamentos recorrentes, gerenciando transações iniciadas pelo cliente (CIT) e iniciadas pelo comerciante (MIT) e, ao mesmo tempo, manipulando com segurança tokens de pagamento.
Transação iniciada pelo cliente (CIT)
O CIT é a transação inicial em que o cliente autoriza pagamentos recorrentes, como quando ele assina um serviço mensal. Essa transação requer interação com o cliente e gera um token para futuras transações de MIT.
Exemplo de solicitação de CIT
{
"account_id": "62fa3145-1408-4044-a599-caa0c2159782",
"amount": {
"currency": "USD",
"value": 2000
},
"checkout": {
"session": "0793c7a5-79c6-40d6-aa5f-13e4e9bdf169"
},
"payment_method": {
"vault_on_success": true,
"detail": {
"wallet": {
"payment_token": "{\n \"paymentMethod\": {\n \"type\": \"credit\",\n \"displayName\": \"Visa 3748\",\n \"network\": \"Visa\"\n },\n \"paymentData\": {\n \"data\": \"B5NSQI0TdXuLwqadBCL0yOwtik/rJx7v41xxE8rNSlFBTHR2W88iRck7a6bH9Kx/bBFsk2ZyinIEl2aXusHp22a0pSmuCUoPgbkFc1/D3PRAoWITfZkalBeuzMhHJGhhCe2wqOgMmjS2w97nN9vifb1cMrS3kOqpPPMihHVvhLYbwtNhh8lfeTOyL+RBXbdFScVTFCB1eFQ4znUFV79SHVK/SRjLxLawO1HGIO0VIUTj8uVgG4MmBrfQhDBD/P9a4lWypiNoyURHm7ubgcOEelbVDGlKSNDmYFD10i554b+7z8GXBtWdQc1zhWKcGOn8RsOYtxxdqzHEtJzcFsf92/rEhfpEThXjsLLMTmovGyQS30qM/qO2YgqduEID7IS+xOH/FXpplT5Yqur7/+FgEwcv2lGsa0K6kNMEUn1xSWc=\",\n \"signature\": \"MIAGCSqGSIb3DQEHAqCAMIACAQExDTALBglghkgBZQMEAgEwgAYJKoZIhvcNAQcBAACggDCCA+MwggOIoAMCAQICCBZjTIsOMFcXMAoGCCqGSM49BAMCMHoxLjAsBgNVBAMMJUFwcGxlIEFwcGxpY2F0aW9uIEludGVncmF0aW9uIENBIC0gRzMxJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRlIEF1dGhvcml0eTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMwHhcNMjQwNDI5MTc0NzI3WhcNMjkwNDI4MTc0NzI2WjBfMSUwIwYDVQQDDBxlY2Mtc21wLWJyb2tlci1zaWduX1VDNC1QUk9EMRQwEgYDVQQLDAlpT1MgU3lzdGVtczETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATCFXft69bHsiGPaN1wkKEhjcewvW8sKD2EYJXZSvSlQRuDQg7YEfNAfoMzHxxUw/frMiDWutXU7/SSiYk+fA8To4ICE TCCA gwwggJ1oAMCAQICCEltL786mNqXMAoGCCqGSM49BAMCMGcxGzAZBgNVBAMMEkFwcGxlIFJvb3QgQ0EgLSBHMzEmMCQGA1UECwwdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMB4XDTE0MDUwNjIzNDYzMFoXDTI5MDUwNjIzNDYzMFowejEuMCwGA1UEAwwlQXBwbGUgQXBwbGljYXRpb24gSW50ZWdyYXRpb24gQ0EgLSBHMzEmMCQGA1UECwwdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE8BcRhBnXZIXVGl4lgQd26ICi7957rk3gjfxLk+EzVtVmWzWuItCXdg0iTnu6CP12F86Iy3a7ZnC+yOgphP9URaOB9zCB9DBGBggrBgEFBQcBAQQ6MDgwNgYIKwYBBQUHMAGGKmh0dHA6Ly9vY3NwLmFwcGxlLmNvbS9vY3NwMDQtYXBwbGVyb290Y2FnMzAdBgNVHQ4EFgQUI/JJxE+T5O8n5sT2KGw/orv9LkswDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS7sN6hWDOImqSKmd6+veuv2sskqzA3BgNVHR8EMDAuMCygKqAohiZodHRwOi8vY3JsLmFwcGxlLmNvbS9hcHBsZXJvb3RjYWczLmNybDAOBgNVHQ8BAf8EBAMCAQYwEAYKKoZIhvdjZAYCDgQCBQAwCgYIKoZIzj0EAwIDZwAwZAIwOs9yg1EWmbGG+zXDVspiv/QX7dkPdU2ijr7xnIFeQreJ+Jj3m1mfmNVBDY+d6cL+AjAyLdVEIbCjBXdsXfM4O5Bn/Rd8LCFtlk/GcmmCEm9U+Hp9G5nLmwmJIWEGmQ8Jkh0AADGCAYgwggGEAgEBMIGGMHoxLjAsBgNVBAMMJUFwcGxlIEFwcGxpY2F0aW9uIEludGVncmF0aW9uIENBIC0gRzMxJjAkBgNVBAsMHUFwcGxlIENlcnRpZmljYXRlIEF1dGhvcml0eTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMw\",\n \"header\": {\n \"publicKeyHash\": \"YK8kdoBXLGqBQKBtCZOl0DQTUHOWidRCxgOgf/1gBMM=\",\n \"ephemeralPublicKey\": \"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEEVv32VVJYlg+E0zMsthvBaldJcH45NUWhVckme/CQYFtHf60FEdFtzwabOEMY3u1De+6e+IuBv53OxmWx+1w2w==\",\n \"transactionId\": \"87a03c4cc1b242a25d74257d4bc990a6473b9866392850e584a9f680dcdf3d0f\"\n },\n \"version\": \"EC_v1\"\n }\n}",
"stored_credentials": {
"reason": "SUBSCRIPTION",
"usage": "FIRST"
}
}
},
"type": "APPLE_PAY"
},
"customer_payer": {
"id": "070a34cb-4649-4a4e-b231-065a53060379",
"nationality": "CO",
"browser_info": {
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.6 Safari/605.1.15",
"accept_header": "application/json",
"accept_content": "*/*",
"accept_browser": "*/*",
"color_depth": "5",
"screen_height": "8",
"screen_width": "8",
"javascript_enabled": true,
"java_enabled": false,
"browser_time_difference": "300",
"language": "en",
"platform": "WEB"
}
},
"subscription": {
"id": "d67a4295-7bb3-4183-99ce-9f5d26d92709",
"billing_date": {
"type": "fixed_day",
"day": 18
}
},
"merchant_order_id": "merchant-order-123",
"country": "CO",
"description": "Apple Pay recurring setup",
"workflow": "SDK_CHECKOUT"
}Parâmetros-chave para o CIT
vault_on_success: true: Esse parâmetro indica que essa é uma configuração de pagamento recorrente e gera o token para futuras transações de MITstored_credentials.usage: "FIRST": Indica que esta é a transação inicial em uma série recorrentesubscription: Objeto obrigatório que contém detalhes da assinatura para a recorrência do Apple Pay
Transação iniciada pelo comerciante (MIT)
As transações MIT são processadas automaticamente para os ciclos de faturamento subsequentes usando o token gerado durante a CIT.
Exemplo de solicitação do MIT
{
"account_id": "account-id",
"amount": {
"currency": "USD",
"value": 100
},
"payment_method": {
"vaulted_token": "98c16e23-ebdd-4d0f-85bd-e0ba7d2fedf6",
"detail": {
"card": {
"stored_credentials": {
"reason": "SUBSCRIPTION",
"usage": "USED"
}
}
},
"type": "APPLE_PAY"
},
"customer_payer": {
"id": "customer-id"
},
"merchant_order_id": "recurring-order-456",
"country": "US",
"description": "Apple Pay recurring payment",
"workflow": "SDK_CHECKOUT"
}Parâmetros-chave para o MIT
token: O token de pagamento gerado durante a CITstored_credentials.usage: "USED": Indica que esta é uma transação subsequente em uma série recorrente- Não
payment_tokennecessário: Usa o token armazenado em seu lugar
Monitore o status do pagamento por meio de webhooks para lidar com casos extremos e fornecer notificações ao cliente.
URL de gerenciamento de assinaturas
Para pagamentos recorrentes do SDK, você deve fornecer um URL de gerenciamento de assinatura em que os clientes possam gerenciar e cancelar a assinatura. Inclua-o em suas comunicações com o cliente.
Documentação relacionada
Atualizado há 3 meses