You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
PadelClub/PadelClub/Views/Shared/PaymentInfoSheetView.swift

93 lines
4.3 KiB

//
// PaymentInfoSheetView.swift
// PadelClub
//
// Created by razmig on 15/01/2025.
//
import SwiftUI
import PadelClubData
struct PaymentInfoSheetView: View {
@Environment(\.dismiss) private var dismiss
let paymentConfig: PaymentConfig
var paymentInfoText: String {
let stripePlatformFee = (paymentConfig.stripeFee * 100).formatted(.number.precision(.fractionLength(2)))
let stripePercentageFee = (RegistrationPaymentMode.stripePercentageFee * 100).formatted(.number.precision(.fractionLength(1)))
let stripeFixedFee = RegistrationPaymentMode.stripeFixedFee.formatted(.number.precision(.fractionLength(2)))
return """
Comment fonctionnent les paiements en ligne ?
Les paiements en ligne permettent aux joueurs de régler les frais de tournoi directement via la plateforme. Voici les informations importantes à connaître :
Options de paiement :
- Le paiement en ligne est activé à la discrétion de l'organisateur
- L'organisateur peut rendre le paiement en ligne obligatoire ou optionnel
- Si le paiement n'est pas obligatoire, il est possible de s'inscrire sans payer immédiatement
- Tous les paiements sont traités via Stripe, une plateforme sécurisée de paiement en ligne
Remboursements :
- Les remboursements en ligne peuvent être activés ou désactivés par l'organisateur
- Si activés, une date limite de remboursement peut être définie
- Aucun remboursement en ligne n'est possible après cette date limite
- Les remboursements en ligne sont automatiquement traités via la même méthode de paiement utilisée
Commissions et frais :
- Padel Club prélève une commission de \(stripePlatformFee)% sur chaque transaction
- Des frais supplémentaires de Stripe s'appliquent (\(stripePercentageFee)% + \(stripeFixedFee)€ par transaction)
Exigences pour les organisateurs :
- L'organisateur doit avoir un compte Stripe valide pour recevoir les paiements
- Le compte Stripe doit être vérifié et connecté à Padel Club
- Sans compte Stripe connecté, l'option de paiement en ligne ne peut pas être activée
Sécurité :
- Toutes les transactions sont sécurisées et chiffrées
- Padel Club ne stocke pas les informations de carte bancaire
"""
}
var body: some View {
NavigationView {
ScrollView {
VStack(alignment: .leading, spacing: 20) {
// Content sections
ForEach(paymentInfoText.components(separatedBy: "\n\n"), id: \.self) { section in
if !section.isEmpty {
VStack(alignment: .leading, spacing: 10) {
if section.contains(":") {
Text(section.components(separatedBy: ":")[0])
.font(.headline)
.foregroundColor(.primary)
let bulletPoints = section.components(separatedBy: "\n-")
if bulletPoints.count > 1 {
ForEach(bulletPoints.dropFirst(), id: \.self) { point in
HStack(alignment: .top) {
Text("")
.padding(.trailing, 5)
Text(point)
.fixedSize(horizontal: false, vertical: true)
}
}
}
} else {
Text(section)
}
}
.padding(.bottom, 10)
}
}
}
.padding()
}
.navigationBarItems(trailing: Button("Fermer") {
dismiss()
})
.toolbarBackground(.visible, for: .navigationBar)
.navigationTitle("Paiement en ligne")
}
}
}