Intégration du SDK
Ce guide fournit une procédure complète pour intégrer Apple Pay au SDK Yuno pour les paiements ponctuels et récurrents. Le SDK simplifie l'intégration d'Apple Pay en gérant token de paiement et en offrant une sécurité intégrée.
Configuration requiseAvant de mettre en place les paiements Apple Pay, assurez-vous d'avoir rempli les conditions préalables.
Vue d'ensemble d'Apple Pay
- Le client initie le paiement sur son appareil iOS
- Recevoir
payment_tokenvia Apple SDK - Créer une session de paiement avec Yuno
- Yuno traite avec le(s) fournisseur(s) configuré(s) et renvoie une réponse
- Surveillez l'état de réponse via des webhooks
Ajouter la fonctionnalité Apple Pay
Pour ajouter la fonctionnalité Apple Pay à votre application iOS :
- Dans Xcode, sélectionnez votre projet dans le navigateur
- Sélectionnez votre application cible
- Allez dans l'onglet Signature et capacités
- Cliquez sur + Capacité et recherchez "Apple Pay".
- Ajouter la fonctionnalité Apple Pay
- Configurez vos identifiants marchands dans la section Apple Pay
Assurez-vous que votre identifiant marchand Apple Pay correspond à celui configuré dans les connexions fournisseur de votre Yuno Dashboard.
Paiements uniques avec SDK
Les paiements Apple Pay ponctuels utilisant le SDK Yuno offrent une expérience d'intégration simplifiée pour les transactions immédiates.
Créer une session de paiement
Utilisez le endpoint Créer une session de paiement pour créer une session de paiement pour les transactions Apple Pay uniques :
{
"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
}
}Traiter le paiement
Le SDK gère automatiquement le flux Apple Pay. Lorsque le client complète l'autorisation Apple Pay, le paiement est traité immédiatement.
Paiements récurrents avec SDK
Le SDK rationalise les paiements récurrents en gérant à la fois les transactions initiées par le client (CIT) et celles initiées par le commerçant (MIT), tout en traitant tokens de paiement de manière sécurisée.
Transaction initiée par le client (CIT)
Le CIT est la transaction initiale au cours de laquelle le client autorise les paiements récurrents, par exemple lorsqu'il s'abonne à un service mensuel. Cette transaction nécessite l'interaction du client et génère un token les futures transactions MIT.
Exemple de demande 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"
}Paramètres clés pour le CIT
vault_on_success: true: Ce paramètre indique qu'il s'agit d'un paiement récurrent et génère le token les futures transactions MIT.stored_credentials.usage: "FIRST": Indique qu'il s'agit de la première transaction d'une série récurrente.subscription: Objet requis contenant les détails de l'abonnement pour la récurrence Apple Pay.
Transaction initiée par le commerçant (MIT)
Les transactions MIT sont traitées automatiquement pour les cycles de facturation suivants en utilisant le token généré lors du transport de fonds.
Exemple de demande au 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"
}Paramètres clés pour le MIT
token: Le token de paiement token pendant le CITstored_credentials.usage: "USED": Indique qu'il s'agit d'une transaction ultérieure dans une série récurrente.- Non
payment_tokenobligatoire: Utilise le token stocké token .
Contrôler l'état des paiements par le biais de crochets web pour gérer les cas particuliers et fournir des notifications aux clients.
URL de gestion des abonnements
Pour les paiements récurrents SDK, vous devez fournir une URL de gestion des abonnements où les clients peuvent gérer et résilier leur abonnement. Indiquez-la dans vos communications avec les clients.
Documentation connexe
Mise à jour il y a 3 mois