Rumah > Soal Jawab > teks badan
Baru-baru ini saya berhubung dengan Alipay SDK untuk melaksanakan fungsi pembayaran mudah alih. Selepas memuat turun DEMO terkini dari tapak web rasmi dan mengkonfigurasi parameter, ia berjalan seperti biasa. Kemudian ikuti langkah demi langkah tutorial untuk mengintegrasikannya ke dalam projek anda sendiri Beri perhatian kepada semua yang perlu diberi perhatian, dan susun OK. Memandangkan klien Alipay telah dipasang pada telefon mudah alih, hasil penyegerakan perlu diperolehi dalam Appdelegate Kod adalah seperti berikut (Swift):
aplikasi fungsi(aplikasi: UIApplication, url openURL: NSURL, sourceApplication: String?, anotasi: AnyObject) -> Bool {
if (url.host! as String) == "safepay" {
// 支付跳转支付宝钱包进行支付,处理支付结果
AlipaySDK.defaultService().processOrderWithPaymentResult(url, standbyCallback: { (resultDic) in
print("result = \(resultDic)")
})
}
return true
}
// NOTA: Antara muka API baharu akan digunakan selepas 9.0
aplikasi func(aplikasi: UIApplication, url openURL: NSURL, pilihan: [String : AnyObject]) ->
if (url.host! as String) == "safepay" {
// 支付跳转支付宝钱包进行支付,处理支付结果
AlipaySDK.defaultService().processOrderWithPaymentResult(url, standbyCallback: { (resultDic: [NSObject : AnyObject]!) in
print("result = \(resultDic)")
})
}
return true
}Selepas berjalan pada mesin sebenar, melompat ke Alipay untuk pembayaran yang berjaya, dan kemudian melompat kembali ke Apl anda sendiri, konsol boleh mencetak hasil penyegerakan (status ialah 9000, pembayaran berjaya), tetapi program terus ranap dan berhenti Dalam kaedah AlipaySDK.defaultService().processOrderWithPaymentResult, konsol memaparkan (lldb).
AlipaySDK.defaultService().payUrlOrder(orderString as String, fromScheme: appScheme, callback: { (resultDic) in
print(resultDic)
})
Hasil penyegerakan diperoleh dalam kaedah, tetapi kali ini konsol tidak mencetak hasil penyegerakan dan ranap secara langsung. Ini bermakna sebaik sahaja saya memanggil kaedah untuk mendapatkan hasil penyegerakan, ia akan ranap. Dengan berat hati, saya mencipta projek Swift baharu untuk ujian, menyepadukan Alipay SDK dengan cara yang sama dan menggunakan kod yang sama Ternyata ia berjalan seperti biasa dan tiada ranap sistem! Saya tertanya-tanya jika terdapat konflik dengan perpustakaan pihak ketiga yang lain, tetapi saya telah menghadapi konflik antara dua perpustakaan pihak ketiga sebelum ini. Ia biasanya masalah definisi semula dan kompilasi tidak akan lulus.