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 :
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 |
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.