बारे में अधिक पढ़ें आप प्रणाली की सुरक्षा की वजह से PKPaymentAuthorizationViewController
पर UIAlertView
नहीं दिखा सकते हैं।
PKPaymentAuthorizationViewController
का पूरा यूआई रिमोट व्यू कंट्रोलर के माध्यम से प्रस्तुत किया जाता है। इसका अर्थ यह है कि PKPaymentRequest के बाहर आप इसे देते हैं, अन्यथा इस दृश्य की सामग्री को स्टाइल या संशोधित करना असंभव है।
और ऐप्पल पे त्रुटि को संभालने के लिए आपको भुगतान दिखाने के लिए PKPaymentAuthorizationViewControllerDelegate
प्रतिनिधि विधि का उपयोग करना सफलतापूर्वक पूरा हो गया है या कोई त्रुटि है।
शो PKPaymentAuthorizationViewController
के लिए, वर्तमान भुगतान दृश्य नियंत्रक के रूप में:
PKPaymentAuthorizationViewController *paymentVC = [[PKPaymentAuthorizationViewController alloc] initWithPaymentRequest:request];
paymentVC.delegate = self;
[self presentViewController:paymentVC animated:true completion:nil];
- ग्राहक टच आईडी का उपयोग कर खरीद को मंजूरी दी (या, कि अगर विफल रहता है 3 बार, उनके पासकोड दर्ज करके)।
- थंबप्रिंट आइकन एक स्पिनर में बदल जाता है, लेबल "प्रसंस्करण"
- आपका प्रतिनिधि प्राप्त करता paymentAuthorizationViewController (साथ _: didAuthorizePayment: पूरा होने :) कॉलबैक
- आपका आवेदन आपके भुगतान प्रोसेसर और वेबसाइट के साथ अतुल्यकालिक रूप से संचार वास्तव में उन भुगतान विवरणों के साथ चार्ज करने के लिए बैकएंड। एक बार यह पूरा होने के बाद, आप हैंडलर को पूरा करने का आह्वान करते हैं जिसे आपको पीकेपेमेंट प्राधिकरणस्टैटस.success या पीकेपेमेंट प्राधिकरणस्टैटस.फेलर परिणाम के आधार पर पैरामीटर के रूप में दिया गया है।
- PKPaymentAuthorizationViewController स्पिनर सफलता या विफलता आइकन में एनिमेट करता है। यदि सफल हो, तो एक अधिसूचना ग्राहक के क्रेडिट कार्ड पर चार्ज इंगित करने वाले पासबुक से पहुंच जाएगी।
- आपके प्रतिनिधि को भुगतान प्राधिकरण ViewControllerDidFinish (_ :) कॉलबैक प्राप्त होता है। यह भुगतान स्क्रीन को खारिज करने के लिए खारिज करने के लिए जिम्मेदार (एनिमेटेड: समापन :) के लिए ज़िम्मेदार है।
- (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller
didAuthorizePayment:(PKPayment *)payment
completion:(void (^)(PKPaymentAuthorizationStatus status))completion {
//=========================================
//=========================================
// Call your api here for charge payment and according to that api result show complition as follow
//========================================
//========================================
// Use your payment processor's SDK to finish charging your customer.
// When this is done, call:
completion(PKPaymentAuthorizationStatusSuccess);
// When this is Payment not completed, call:
// completion(PKPaymentAuthorizationStatusFailure);
// When this is Supplied billing address is insufficient or otherwise invalid, call:
// completion(PKPaymentAuthorizationStatusInvalidBillingPostalAddress);
// When this is Supplied postal address is insufficient or otherwise invalid, call:
// completion(PKPaymentAuthorizationStatusInvalidShippingPostalAddress);
// When this is Supplied contact information is insufficient or otherwise invalid, call:
// completion(PKPaymentAuthorizationStatusInvalidShippingContact);
}
// Sent to the delegate when payment authorization is finished. This may occur when
// the user cancels the request, or after the PKPaymentAuthorizationStatus parameter of the
// paymentAuthorizationViewController:didAuthorizePayment:completion: has been shown to the user.
//
// The delegate is responsible for dismissing the view controller in this method.
- (void)paymentAuthorizationViewControllerDidFinish:(PKPaymentAuthorizationViewController *)controller {
[self dismissViewControllerAnimated:true completion:nil];
}
स्रोत
2017-07-19 14:28:42
इस बारे में कोई खबर? – Gabriel
हाय दोस्तों! क्या आपको कोई समाधान मिल रहा है? – Yoihito
आप अलर्ट कैसे पेश कर रहे हैं? मुझे ऐप्पलपे के बारे में बहुत कुछ पता नहीं है, लेकिन चूंकि यह एक व्यू कंट्रोलर है, क्या आप Applepayviewcontroller के दृश्य पर अलर्ट पेश कर रहे हैं? – Knight0fDragon