国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Maison Applet WeChat Développement WeChat Explication détaillée du code de cas de développement de paiement iOS WeChat

Explication détaillée du code de cas de développement de paiement iOS WeChat

Mar 27, 2017 pm 01:30 PM
ios Paiement WeChat

Cet article présente principalement en détail le cas de développement du paiement iOS WeChat, qui a une certaine valeur de référence. Les amis intéressés peuvent s'y référer

Le paiement WeChat présente de nombreux pièges et les documents officiels sont fournis. Il n'est pas exhaustif. du tout, et la démo est également "timide" et difficile à comprendre. De nombreux détails auxquels on avait prêté attention n’ont pas été reflétés et de nombreux détours ont été effectués. Par conséquent, le processus de développement du système est le suivant. (La démo complète est jointe à la fin du blog) Cela inclut le traitement de compatibilité du développement des paiements WeChat et du client d'appel de développement Alipay. (Les deux signatures sont placées c?té mobile. Le blog ne mentionne pas la situation de non-installation du client WeChat. Il est également très simple d'en juger par la valeur de retour de 0 lors de l'appel de cette méthode [WXApi sendReq:request].)

1. Configuration de l'environnement

1. Le premier est l'accès au protocole https, définissez la liste blanche dans plist

Explication détaillée du code de cas de développement de paiement iOS WeChat

2. Lorsque vous avez Pour le partage, la collecte, le paiement, la connexion, etc. WeChat, vous devez ajouter le code suivant (LSApplicationQueriesSchemes) dans "Info.plist"

Explication détaillée du code de cas de développement de paiement iOS WeChat

3 . Résolvez le problème de la compilation du bitcode

Explication détaillée du code de cas de développement de paiement iOS WeChat

4. Définir les types d'URL

Explication détaillée du code de cas de développement de paiement iOS WeChat

5. de la démo officielle de WeChat)

Explication détaillée du code de cas de développement de paiement iOS WeChat

6. Importer les bibliothèques de dépendances du système

Explication détaillée du code de cas de développement de paiement iOS WeChat

7. ??>

Le paiement WeChat est divisé en Unité, c'est-à-dire que si le montant de votre paiement est maintenu à deux décimales, le montant du paiement doit être de *100 avant d'être envoyé à la plateforme de paiement WeChat, et ainsi de suite pour les autres .

2. Développement de code

1. Opérations requises à l'entrée du programme (c'est-à-dire applegate.m)

Explication détaillée du code de cas de développement de paiement iOS WeChat

2. Méthode proxy, sinon le service client WeChat ne sera pas rappelé (également dans le fichier délégué.m)

Explication détaillée du code de cas de développement de paiement iOS WeChat

Fonction de rappel pour un paiement WeChat réussi

C'est nécessaire Pour expliquer, le document officiel explique ceci : Le résultat d'un paiement réussi du c?té du service client ne peut pas être directement considéré comme le résultat d'un paiement de commande réussi. Il doit être basé sur le statut de la commande renvoyé par le serveur. , une fois le paiement réussi du c?té du service client, WeChat Pay La plateforme enverra un message de paiement réussi au serveur, modifiera l'état de la commande en arrière-plan et le renverra au client. Le plus simple est que si le paiement réussit, une notification doit être envoyée à un contr?leur de vue spécifique (un contr?leur de vue avec fonction de paiement WeChat), afin que ce contr?le de vue spécifique puisse demander l'état de la commande du serveur.

Cette fonction de rappel doit être écrite en délégué.m !!!

Explication détaillée du code de cas de développement de paiement iOS WeChat

4. Code pour un contr?leur de vue spécifique (contr?leur de vue avec fonction de paiement WeChat)
4.1 Soumettre un ordre de prépaiement pour obtenir l'identifiant de précommande (ce processus doit être signé deux fois, c'est-à-dire sans paramètres ni signature). . Bien entendu, ces méthodes ont été encapsulées dans la classe payRequsestHandler. Il suffit de passer les paramètres pour appeler la méthode.) C'est aussi la méthode d'action pour cliquer sur le bouton de paiement

Explication détaillée du code de cas de développement de paiement iOS WeChat

.

4.2 Après avoir re?u la commande prépayée, vous pouvez ajuster le c?té service client du paiement WeChat (les codes 4.2 et 4.1 sont consécutifs)

Explication détaillée du code de cas de développement de paiement iOS WeChat

Deux packages indépendants avec signature de paramètre de signe La méthode n'est pas encapsulée par payRequsestHandler. Je l'ai écrite moi-même. Des problèmes sont survenus lors de son utilisation (la capture d'écran du problème est la suivante, prenez d'abord une capture d'écran du code, puis fournissez un bloc de code qui peut être directement copié et). collé.
Capture d'écran du problème?: (Je crois que beaucoup de gens ont rencontré ce problème. J'y suis allé, c'est à 100?% un problème de signe)

Explication détaillée du code de cas de développement de paiement iOS WeChat

Première méthode. :

Explication détaillée du code de cas de développement de paiement iOS WeChat

Méthode deux?:

Explication détaillée du code de cas de développement de paiement iOS WeChat

4.3 Le code ci-dessus peut résoudre complètement le problème de paiement WeChat. La dernière étape est. à gauche. Le paiement est réussi et revient à l'application pour appeler la méthode -(void)onResp:(BaseResp*)resp du délégué. Nous devons donc ici envoyer une notification à un contr?leur de vue spécifique et le laisser demander l'état de la commande en arrière-plan. Ce que je veux expliquer ici, c'est qu'après avoir ajusté WeChat Pay depuis cette interface, vous serez toujours au même endroit à votre retour. C'est juste que la méthode de rappel doit être dans le délégué, donc une notification réussie doit être envoyée dans la méthode de rappel. Ensuite, vous devez écouter cette notification dans la méthode de la vue spécifique du contr?leur de vue qui est sur le point d'appara?tre, puis demander l'état de la commande en arrière-plan. Ce qu'il faut noter ici, c'est que la méthode dealloc doit être réécrite pour supprimer la notification.

Explication détaillée du code de cas de développement de paiement iOS WeChat

3. Traitement de compatibilité des méthodes proxy des clients de rappel de paiement Alipay et WeChat

Explication détaillée du code de cas de développement de paiement iOS WeChat

4. Démo

Copier et coller le code (signer la signature)

-(NSString?)createMD5SingForPay:(NSString?)appid_key?partnerid:(NSString)partnerid_key?prepayid:(NSString?)prepayid_key?package:(NSString?)package_key?noncestr:(NSString)noncestr_key?timestamp:(UInt32)timestamp_key?
{?
NSMutableDictionary?*signParams?=?[NSMutableDictionary?dictionary];?
[signParams?setObject:appid_key?forKey:@”appid”];?
[signParams?setObject:noncestr_key?forKey:@”noncestr”];?
[signParams?setObject:package_key?forKey:@”package”];?
[signParams?setObject:partnerid_key?forKey:@”partnerid”];?
[signParams?setObject:prepayid_key?forKey:@”prepayid”];?
[signParams?setObject:[NSString?stringWithFormat:@”%u”,(unsigned?int)timestamp_key]?forKey:@”timestamp”];
NSMutableString?*contentString?=[NSMutableString?string];?
NSArray?*keys?=?[signParams?allKeys];?
//按字母順序排序?
NSArray?*sortedArray?=?[keys?sortedArrayUsingComparator:^NSComparisonResult(id?obj1,?id?obj2)?{
return?[obj1?compare:obj2?options:NSNumericSearch];?
}];?
//拼接字符串?
for?(NSString?*categoryId?in?sortedArray)?{?
if?(?![[signParams?objectForKey:categoryId]?isEqualToString:@”“]?
&&?![[signParams?objectForKey:categoryId]?isEqualToString:@”sign”]?
&&?![[signParams?objectForKey:categoryId]?isEqualToString:@”key”]?
)?
{?
[contentString?appendFormat:@”%@=%@&”,?categoryId,?[signParams?objectForKey:categoryId]];
}?
}?
//添加商戶密鑰key字段?
[contentString?appendFormat:@”key=%@”,?@”這里填寫商戶密鑰”];?
NSString?*result?=?[self?md5:contentString];?
return?result;

}//創(chuàng)建發(fā)起支付時的sige簽名

-(NSString?)?md5:(NSString?)str?
{?
const?char?*cStr?=?[str?UTF8String];?
unsigned?char?result[16]=?“0123456789abcdef”;?
CC_MD5(cStr,?(CC_LONG)strlen(cStr),?result);?
//這里的x是小寫則產生的md5也是小寫,x是大寫則md5是大寫,這里只能用大寫,微信的大小寫驗證很逗?
return?[NSString?stringWithFormat:?
@”%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X”,?
result[0],?result[1],?result[2],?result[3],?
result[4],?result[5],?result[6],?result[7],?
result[8],?result[9],?result[10],?result[11],?
result[12],?result[13],?result[14],?result[15]?
];?
}//MD5?加密


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1502
276
Apple réédite la mise à jour iOS/iPadOS 18 Beta 4, numéro de version porté à 22A5316k Apple réédite la mise à jour iOS/iPadOS 18 Beta 4, numéro de version porté à 22A5316k Jul 27, 2024 am 11:06 AM

Merci aux internautes Ji Yinkesi, xxx_x, aux tomates frites, à Terrence et aux pilons de poulet épicés pour avoir soumis des indices ! Selon les informations du 27 juillet, Apple a réédité aujourd'hui la mise à jour iOS/iPadOS 18 Beta 4 pour les développeurs. Le numéro de version interne est passé de 22A5316j à 22A5316k. La différence entre les deux mises à jour de la version Beta 4 n'est actuellement pas claire. Les développeurs enregistrés peuvent ouvrir l'application ? Paramètres ?, accéder à la section ? Mise à jour du logiciel ?, cliquer sur l'option ? Mise à jour bêta ?, puis basculer les paramètres bêta du développeur iOS18/iPadOS18 pour sélectionner la version bêta. Le téléchargement et l'installation de la version bêta nécessitent un identifiant Apple associé à un compte développeur. Signalé le 24 juillet, iO

Mise à jour | Hacker explique comment installer Epic Games Store et Fortnite sur iPad en dehors de l'UE Mise à jour | Hacker explique comment installer Epic Games Store et Fortnite sur iPad en dehors de l'UE Aug 18, 2024 am 06:34 AM

Mise à jour : Saunders Tech a mis en ligne un didacticiel sur sa cha?ne YouTube (vidéo intégrée ci-dessous) expliquant comment installer Fortnite et Epic Games Store sur un iPad en dehors de l'UE. Cependant, non seulement le processus nécessite des versions bêta spécifiques d'iO

Apple publie le package Swift open source pour le cryptage homomorphe, déployé dans iOS 18 Apple publie le package Swift open source pour le cryptage homomorphe, déployé dans iOS 18 Jul 31, 2024 pm 01:10 PM

Selon l'actualité du 31 juillet, Apple a publié hier (30 juillet) un communiqué de presse annon?ant le lancement d'un nouveau package Swift open source (swift-homomorphic-encryption) permettant le cryptage homomorphe dans le langage de programmation Swift. Remarque?: Le chiffrement homomorphe (HE) fait référence à un algorithme de chiffrement qui satisfait aux propriétés d'opération homomorphe du texte chiffré. Autrement dit, une fois les données chiffrées de manière homomorphe, des calculs spécifiques sont effectués sur le texte chiffré et les résultats de calcul du texte chiffré obtenus sont traités en même temps. Le texte en clair après le décryptage de l'état équivaut à effectuer directement le même calcul sur les données en texte en clair, obtenant ainsi ? l'invisibilité ? des données. La technologie de cryptage homomorphe peut calculer les données cryptées sans divulguer les données non cryptées sous-jacentes au processus opérationnel.

Apple iOS 18 et iPadOS 18 version bêta publique Mise à jour bêta 2 publiée Apple iOS 18 et iPadOS 18 version bêta publique Mise à jour bêta 2 publiée Jul 30, 2024 pm 04:19 PM

Merci aux internautes Mo 6_, Uh-huh-huh-huh, Cat-Eating Salted Fish, Yaochi Qinglian, Spicy Chicken Leg Burger, Siyan et Tim Apple pour avoir soumis des indices ! Selon les informations du 30 juillet, Apple a lancé aujourd'hui la mise à jour de la version bêta publique iOS18 et iPadOS18 pour les utilisateurs d'iPhone et d'iPad, deux semaines après la dernière version bêta publique. Le contenu de la mise à jour de cette version bêta publique est similaire à la version d'aper?u du développeur Beta4, avec de nouveaux fonds d'écran CarPlay, des options de réglage de peignage, un contr?le amélioré de la caméra, des ic?nes de mode sombre/clair, etc. Pour plus de détails, veuillez vous référer aux rapports détaillés précédents. ##Comment mettre à niveau la version de développement iOS/iPadOS/watchOS/macOS et la version bêta publique ? Mise à niveau iOS/iPadOS iOS/iPa

Apple iPhone 16 n'est plus préinstallé avec Apple Intelligence Apple iPhone 16 n'est plus préinstallé avec Apple Intelligence Jul 30, 2024 pm 01:18 PM

Selon Mark Gurman, un initié de l’industrie, l’Apple Intelligence d’Apple sera reportée à octobre. Autrement dit, il sera poussé en premier sur iOS18.1. L'Apple iPhone 16 devrait sortir en septembre, Apple Intelligence ne sera donc pas préinstallé. 1. Apple Intelligence Apple Intelligence est un système d'intelligence personnelle qui utilise un modèle génératif puissant pour fournir de nouvelles fonctions pour iPhone, iPad et Mac afin d'aider les utilisateurs à communiquer, travailler et s'exprimer. 2. Compréhension du langage naturel Le grand modèle intégré à Apple Intelligence possède une compréhension approfondie de la signification du langage.

Quelle est la différence entre la production de pages H5 et les applets WeChat Quelle est la différence entre la production de pages H5 et les applets WeChat Apr 05, 2025 pm 11:51 PM

H5 est plus flexible et personnalisable, mais nécessite une technologie qualifiée; Les mini-programmes sont rapides à démarrer et faciles à entretenir, mais sont limités par le cadre WeChat.

Apple publie les mises à jour iOS/iPadOS 16.7.9 et 15.8.3 pour les anciens iPhones/iPad?: corrige les failles de sécurité Apple publie les mises à jour iOS/iPadOS 16.7.9 et 15.8.3 pour les anciens iPhones/iPad?: corrige les failles de sécurité Jul 30, 2024 am 10:13 AM

Merci à l'internaute Ji Yinkesi d'avoir soumis l'indice?! Selon les informations du 30 juillet, Apple a publié aujourd'hui la première version bêta pour développeur d'iOS/iPadOS 18.1 et la deuxième version bêta publique d'iOS/iPadOS 18. Elle a également publié des mises à jour iOS 16.7.9 et iOS 15.8.3 pour les anciens iPhones. Apple a écrit dans les journaux de mise à jour des deux versions : ? Cette mise à jour fournit des correctifs de sécurité importants et il est recommandé à tous les utilisateurs de l'installer ?, mais n'a pas mentionné ce qui a été corrigé. iOS16.7.9 Remarque?: iOS16.7.9 convient aux Apple iPhoneX, iPhone8 et iPhone8Plus. Selon les détails du document divulgués par Apple, les trois modèles ci-dessus devraient être pris en charge.

iOS 18.1 est là, l'enregistrement des appels est disponible ! iOS 18.1 est là, l'enregistrement des appels est disponible ! Jul 30, 2024 pm 09:35 PM

T?t ce matin, Apple a proposé aux développeurs les premières versions bêta pour développeurs d'iOS 18.1, iPadOS 18.1 et macOS Sequoia 15.1. Dans le même temps, Apple a également publié les versions officielles d'iOS17.6, iPadOS17.6, visionOS1.3, macOS14.6, tvOS17.6 et watchOS10.6. iOS18.1Beta1 a finalement lancé la fonction d'enregistrement des appels, et la fonction Apple Intelligence a également été lancée dans les régions en dehors de la Chine et de l'UE. Le numéro de version d'iOS18.1Beta1 est 22B5007p et la mise à niveau OTA est d'environ 637 Mo (la taille du package de mise à jour varie légèrement selon les modèles) |

See all articles