Zu Confirmation Token migrieren
Verwenden Sie ein ConfirmationToken anstelle einer PaymentMethod, um Zahlungen abzuwickeln.
Dieser Leitfaden zeigt, wie Sie von der älteren PaymentMethod zum ConfirmationToken in Ihrer mobilen Integration migrieren.
Sie können das ConfirmationToken-Objekt anstelle der PaymentMethod verwenden, um:
- Server-seitigen Code vereinfachen: Sie müssen 
mandate_nicht manuell erstellen oderdata return_undurl shippingbeim Bestätigen von Intents übergeben. - Daten verarbeiten: Es werden automatisch Versandinformationen und andere Zahlungsdetails für Sie hinzugefügt.
 
| Merkmal | PaymentMethod (Legacy) | ConfirmationToken | 
|---|---|---|
| Zahlungsbestätigung | ||
| Zukünftige Nutzung einrichten | Manuell | Automatisch | 
| Versandinformationen | Manuell | Automatisch | 
| Mandatsdaten | Manuell | Automatisch | 
| Rückgabe-URL | Manuell | Automatisch | 
| Serverseitige CVC-Erfassung | 
Bevor Sie loslegen
Dieser Leitfaden geht davon aus, dass Sie bereits eine bestehende mobile Integration mit dem alten PaymentMethod nutzen. Wenn Sie eine neue Integration erstellen, folgen Sie dem Leitfaden Zahlung akzeptieren, der standardmäßig ConfirmationTokens verwendet.
Aktualisieren Sie Ihren Client-CodeClientseitig
Um auf Zahlungsdetails zuzugreifen und diese zu verwenden, übergeben Sie einen Rückruf, der ein confirmationToken erhält:
let intentConfig = PaymentSheet.IntentConfiguration( mode: .payment(amount: 1099, currency: "USD") ) { paymentMethod, shouldSavePaymentMethod, intentCreationCallback in // Make a request to your server, passing paymentMethod.stripeId ) { confirmationToken, intentCreationCallback in // Make a request to your server to create a PaymentIntent and return its client secret. // Optionally pass confirmationToken.stripeId if doing server-side confirmation. let myServerResponse: Result<String, Error> = ... switch myServerResponse { case .success(let clientSecret): intentCreationCallback(.success(clientSecret)) case .failure(let error): intentCreationCallback(.failure(error)) } }
Aktualisieren Sie Ihren Server-CodeServerseitig
Wenn Sie Zahlungen akzeptieren, können Sie wählen, wo Sie den PaymentIntent oder den SetupIntent bestätigen möchten:
Clientseitige Bestätigung: Ihr Server erstellt einen unbestätigten Intent und sendet dessen
client_an Ihre App zurück. Das mobile SDK bestätigt den Intent dann direkt gegenüber Stripe.secret Serverseitige Bestätigung: Ihre App sendet das ConfirmationToken an Ihren Server, der den Intent in einem einzigen API-Aufruf erstellt und bestätigt, indem er
Bestätigen: Wahrsetzt. Die Bestätigung erfolgt vollständig auf Ihrem Server, wenn Sie die Stripe-API aufrufen und gibt Ihnen mehr Kontrolle über den Zahlungsablauf.
Alle Parameter, die zum Zeitpunkt der Bestätigung direkt dem PaymentIntent oder SetupIntent zur Verfügung gestellt werden, wie zum Beispiel shipping, überschreiben die entsprechenden Eigenschaften des ConfirmationToken.
Notiz
Wenn Sie zuvor das PaymentMethod-Objekt überprüft haben, können Sie jetzt über die Eigenschaft paymentMethodPreview auf dem ConfirmationToken auf Details zur Zahlungsmethode zugreifen.