objectif-c - Le paiement sur site mobile intégré à Alipay côté iOS est transféré vers le paiement APP, et H5 ne peut pas être activé.
迷茫
迷茫 2017-05-02 09:37:04
0
0
779

Je me suis récemment connecté au SDK Alipay pour implémenter la fonction de paiement mobile. Après avoir téléchargé la dernière DEMO depuis le site officiel et configuré les paramètres, il fonctionne normalement. Suivez ensuite le tutoriel étape par étape pour l'intégrer dans votre propre projet. Faites attention à tout ce à quoi il faut prêter attention et compilez OK. Le client Alipay étant installé sur le téléphone mobile, le résultat de la synchronisation doit être obtenu dans Appdelegate. Le code est le suivant (Swift) :

.

application func (application : UIApplication, URL openURL : NSURL, sourceApplication : String ?, annotation : AnyObject) ->

if (url.host! as String) == "safepay" {
    // 支付跳转支付宝钱包进行支付,处理支付结果
    AlipaySDK.defaultService().processOrderWithPaymentResult(url, standbyCallback: { (resultDic) in
        print("result = \(resultDic)")
    })
}
return true

}

// REMARQUE : la nouvelle interface API sera utilisée après la version 9.0

func application (app : UIApplication, openURL url : NSURL, options : [String : AnyObject]) ->

if (url.host! as String) == "safepay" {
    // 支付跳转支付宝钱包进行支付,处理支付结果
    AlipaySDK.defaultService().processOrderWithPaymentResult(url, standbyCallback: { (resultDic: [NSObject : AnyObject]!) in
        print("result = \(resultDic)")
    })
}
return true

>

Après avoir exécuté sur la vraie machine, passé à Alipay pour un paiement réussi, puis revenu à votre propre application, la console peut imprimer le résultat de la synchronisation (le statut est 9000, paiement réussi), mais le Le programme plante et s'arrête directement. Dans la méthode AlipaySDK.defaultService().processOrderWithPaymentResult, la console affiche (lldb).


Ensuite, j'ai essayé de bloquer la méthode AlipaySDK.defaultService().processOrderWithPaymentResult, et elle a fonctionné normalement sans planter. Je l'ai testé sur une autre vraie machine. Étant donné que le client Alipay n'est pas installé sur cette vraie machine, après avoir effectué le paiement en H5, il apparaîtra à :

AlipaySDK.defaultService().payUrlOrder(orderString as String, fromScheme : appScheme, callback : { (resultDic) in

        print(resultDic)
    })

Le résultat de la synchronisation est obtenu dans la méthode, mais cette fois la console n'imprime pas le résultat de la synchronisation et plante directement.

Cela signifie que dès que j'appelle la méthode pour obtenir le résultat de la synchronisation, elle plante. À contrecœur, j'ai créé un nouveau projet Swift à des fins de test, intégré le SDK Alipay de la même manière et utilisé le même code. Il s'est avéré qu'il fonctionnait normalement et qu'il n'y avait aucun crash ! Je me demande s'il y a un conflit avec d'autres bibliothèques tierces, mais j'ai déjà rencontré des conflits entre deux bibliothèques tierces. Il s'agit généralement d'un problème de redéfinition et la compilation ne réussira pas.


Je n'arrive vraiment pas à comprendre quel est le problème. J'aimerais demander si quelqu'un ici a déjà rencontré ce problème. Merci !

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

répondre à tous(0)
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal