     // ----------------------------------
     //  MARK: - Begin Checkout -
     //
-    public func authorizePaymentUsing(_ checkout: PayCheckout, currency: PayCurrency) {
-        self.checkout = checkout
-        self.currency = currency
-        
+    public func authorize() {
         let paymentRequest  = self.paymentRequestUsing(checkout, currency: currency, merchantID: self.merchantID)
         let controller      = PKPaymentAuthorizationController(paymentRequest: paymentRequest)
         controller.delegate = self

         ** postal address. The partial info
         ** should be enough to obtain rates.
         */
        self.delegate?.paySession(self, didRequestShippingRatesFor: payPostalAddress, checkout: self.checkout!, provide: { updatedCheckout, shippingRates in
            
            /* ---------------------------------
             ** The delegate has an opportunity

             ** postal address.
             */
            guard let updatedCheckout = updatedCheckout, !shippingRates.isEmpty else {
                completion(.invalidShippingPostalAddress, [], self.checkout.summaryItems)
                return
            }
            
