2015-11-18 59 views
11

Tôi đang bắt đầu dự án tích hợp Apple Pay và có thể kết nối giao dịch trên thiết bị và sử dụng Stripe để ủy quyền thanh toán. Phần tôi đang thực sự đấu tranh là cách thích hợp để thiết bị kiểm tra xem Apple Pay có được hỗ trợ không? Vì vậy, đối với các mẫu Iphone cũ hơn, tôi sẽ chọn ẩn các tính năng của Apple Pay, ngay cả khi chúng đã cài đặt ios8 hoặc ios9.Cách xác minh thiết bị ios hỗ trợ Apple Pay

Tôi có thể kiểm tra kiểu thiết bị và bỏ qua Áp dụng thanh toán cho < Iphone5S. Tuy nhiên điều này trở nên phức tạp nếu tôi cũng cần bắt đầu thử nghiệm các phiên bản IPad, v.v.

Tôi đã tự hỏi liệu có một phương pháp nào đó để kiểm tra xem ApplePay có được hỗ trợ không?

Tôi thấy phương pháp này trực tuyến là một ý tưởng, tuy nhiên nó tuyên bố trả tiền táo đã được hỗ trợ trong trình mô phỏng Iphone5, mà tôi tưởng tượng không hoàn toàn đúng. Tôi không có một thiết bị iPhone5 thực tế để kiểm tra với không may.

- (BOOL) applePaySupported { 
    return [PKPaymentAuthorizationViewController canMakePaymentsUsingNetworks:@[PKPaymentNetworkAmex, PKPaymentNetworkVisa, PKPaymentNetworkMasterCard]]; 
} 

EDIT/GIẢI PHÁP:

bây giờ tôi sử dụng dòng này và nó được xác minh để làm việc cho iPhone5 (không được hỗ trợ) vs Iphone6 ​​(hỗ trợ); và tôi đoán các thiết bị khác. Tôi không hoàn toàn chắc chắn nó luôn luôn hoạt động trong Simulator nhưng ApplePay là một chút lẻ trong đó anyway và thử nghiệm được thực hiện tốt nhất trên thiết bị.

- (BOOL) applePaySupported { 
    return [PKPaymentAuthorizationViewController canMakePayments] && [PKPaymentAuthorizationViewController canMakePaymentsUsingNetworks:@[PKPaymentNetworkAmex, PKPaymentNetworkVisa, PKPaymentNetworkMasterCard]]; 
} 

Trả lời

6

canMakePayments - Sẽ trả về "CÓ" (Đúng/1) bất kể cấu hình thẻ.

canMakePaymentsUsingNetworks - Sẽ trả về "KHÔNG", nếu thẻ KHÔNG được định cấu hình hoặc KHÔNG được định cấu hình đúng cách.

Vì vậy, nên kiểm tra cả hai ... Nếu cả hai phải là TRUE thì chỉ cần đặt Nút "Apple Pay" hiển thị.

Hy vọng điều này sẽ hữu ích.

+0

Tôi đã thử cả hai điều kiện với nhau nhưng luôn quay trở lại đúng, vui lòng cho tôi biết phải làm gì? –

+0

Ronak là đúng, cả hai kiểm tra là cần thiết. – Rushabh

2

In s wift 3.0 bạn có thể kiểm tra thiết bị của bạn hỗ trợ thanh toán táo hay không thông qua việc tắt này là trả lại đúng sau đó thiết bị của bạn hỗ trợ thanh toán táo. Dưới đây là danh sách các thiết bị có hỗ trợ lương táo:

iPhone 5schỉ nếu bạn mua mới nhất hòa bình

iPhone SE,

iPhone 6 hoặc mới hơn,

iPad Pro,

iPad thế hệ thứ 5,

iPad Air 2,

iPad Mini 3 hay muộn,

và Apple Watch.

func applePaySupported() -> Bool { 
      return PKPaymentAuthorizationViewController.canMakePayments() && PKPaymentAuthorizationViewController.canMakePayments(usingNetworks: [.amex, .visa, .masterCard]) 
} 
+1

thay thế || bởi && và điều này sẽ đúng –

+0

@YauheniShauchenka cảm ơn bạn đã sửa. –

Các vấn đề liên quan