Search Overlay

Commencer avec les paiements

Remarque : En tant que partenaire ISV/Paysafe, vous devrez effectuer toutes les étapes « marchand » ci-dessous au nom de l’entité juridique mère des marchands (PMLE) sous laquelle vos marchands exerceront leurs activités.

La méthode beginPayment lancera un paiement à partir de l’application dès que vous appuyez sur le bouton Payer. Si Apple Pay est disponible, la fiche récapitulative d’Apple Pay s’ouvre.

Pour procéder aux paiements Apple Pay, fournissez les informations suivantes :

Informations sur le produit
Clé Description
image Image du produit
title Description ou identifiant du produit
price Prix en décimales
amount Qualité du produit
shippingMethod Informations de livraison
description Informations supplémentaires sur la livraison - par exemple, le délai de livraison
Données de la carte
Clé Description
CartID Identifiant du panier
PayTo Nom du marchand qui recevra le paiement
shippingOptions Tableau de toutes les méthodes d’expédition disponibles
- (NSArray *)shippingMethodOptions {
return @[
[[ShippingMethod alloc] initWithPrice:[NSDecimalNumber decimalNumberWithString:@"<Shipping price>"] title: @"<Carrier Name>" description: @"<Carrier delivery information>"],
...
];
}

- (IBAction)startApplePayPayment:(id)sender {
// if amount is invalid return
// otherwise provide product and cart data

Merchandise *product = [[Merchandise alloc] initWithImage: @"<Item image or NULL otherwise>"
title: @"<Item name, title, short description or id>"
price: <Single item price as decimal number>
amount: <Item amount as double value>
shippingMethod: <Selected shipping method>
description: @"<Additional information>"];

CartDetails *cartData = [[CartDetails alloc] initWithCartId: @"<Cart id>"
payTo: @"<Merchant name>"
shippingOptions: [self shippingMethodOptions]]; // list of available shipping methods

[self.applePayService beginPayment: product
cartDetails: cartData
completion:^(PKPayment * _Nullable payment, NSError * _Nullable error) {

if (error) {
// Handle error here
} else {
// Store received payment on your backend
}
}];
}
private static let shippingMethodOptions = [
ShippingMethod(price: NSDecimalNumber(string: "<Shipping price>"), title: "<Carrier Name>", description: "<Carrier delivery information>"),
...
]

@IBAction private func startApplePayPayment(_ sender: Any) {
// if amount is invalid return
// otherwise provide product and cart data

let product = Merchandise(image: <Item image or nil otherwise>,
title: "<Item name, title, short description or id>",
price: <Single item price as decimal number>,
amount: <Item amount as double value>,
shippingMethod: <Selected shipping method>,
description: "<Additional information>")

let cartData = CartDetails(cartId: "<Cart id>",
payTo: "<Merchant name>",
shippingOptions: ApplePayViewController.shippingMethodOptions)

applePayService.beginPayment(product, cartDetails: cartData) { result in

switch result {
case let .failure(error):
// Handle error here
case let .success(payment):
// Store received payment on your backend
}
}
}

Les clés ci-dessus ont été utilisées dans la SDK pour obtenir des valeurs de beginPayment. Vous devez utiliser les mêmes clés dans le code de votre application pour les détails relatifs à l’expédition, à l’environnement et au panier.

Effectuer le paiement

Si Apple Pay est disponible, la SDK lancera une fiche récapitulative Apple Pay View Controller, comme dans l’image ci-dessous :

Après avoir sélectionné Pay, la SDK communiquera avec le serveur Apple Pay pour obtenir un jeton Apple Pay (en utilisant la méthode beginPayment). S’il n’y a pas de problème, votre application recevra le jeton Apple Pay dans une réponse du serveur Apple Pay.

En utilisant ce jeton Apple Pay comme requête, la SDK communiquera avec le serveur Paysafe pour obtenir un jeton Paysafe.

Si tout va bien, la transaction est terminée; dans le cas contraire, une erreur est affichée.

Sur cette page