--- title: "Receiving Payment from Flex Pay" slug: "recieving-payment-from-uplift-ios" updated: 2026-05-22T16:06:53Z published: 2026-05-22T16:06:41Z canonical: "developer.upgrade.com/recieving-payment-from-uplift-ios" --- > ## Documentation Index > Fetch the complete documentation index at: https://developer.upgrade.com/llms.txt > Use this file to discover all available pages before exploring further. # Receiving Payment from Flex Pay ### Receiving Payment from Flex Pay One of the most important delegate method is the `checkout(_ checkoutViewController: UIViewController, didCreate virtualCard: ULPMVirtualCard)`. This method should be called when the user has finished the checkout. The `ULPMVirtualCard`, which is received in this call, is a virtual payment card that will be used to pay for the booking. ``` func checkout(_ checkoutViewController: UIViewController, didCreate virtualCard: ULPMVirtualCard) { // Pay the current order in your system with the received virtual card } ``` ### Virtual Card Schema The customer’s contact information will be used for the virtual payment card. The following indicates the expected property types of the `virtualCard` object. For more information, please check the `ULPMVirtualCard` class. ``` public struct ULPMVirtualCard: Decodable { public let cardCcv: String? public let cardNumber: String? public let expirationMonth: Int? public let expirationYear: Int? public let nameOnCard: String? public let cardType: String? public let contact: ULContact? public let cardToken: String? public let id: String? } ```