Maison >développement back-end >tutoriel php >php gère les factures WeChat

php gère les factures WeChat

不言
不言original
2018-04-26 09:14:291672parcourir

Le contenu de cet article concerne le traitement des factures php WeChat. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer. Maintenant, partagez-le avec tout le monde. les amis dans le besoin peuvent s'y référer

Récemment, je dois faire un rapprochement de paiement, c'est-à-dire vérifier si le tiers payant et la facture dans la base de données correspondent un à un, ce qui implique le traitement de Déclaration WeChat et l'interface de facturation WeChat renvoie Pour une chaîne, le résultat est similaire à ce qui suit :


La fonction que le programme doit implémenter est d'extraire les informations efficaces de chaque commande de cette chaîne. Le code de référence est le suivant :



function deal_wechat_return_result($reponse)
    {        
    $result = array();        
    $reponse = str_replace(","," ",$reponse);        
    $reponse = explode("`",$reponse);        
    $total_order_count =( count($reponse) - 6 ) / 24;        
    for($i = 0; $i< $total_order_count; $i++)
        {            
        $base_index = 24 * $i;            
        $result[$reponse[$base_index + 7]] = array(
                &#39;wechat_order_no&#39; => $reponse[$base_index + 6],
                &#39;order_count&#39; => $reponse[$base_index + 13],
                &#39;order_discount&#39; => $reponse[$base_index + 23]
            );
        }       
         return $result;
    }

.

L'idée principale est que le format du résultat renvoyé par la facture WeChat est fixe. Vous pouvez utiliser « » pour diviser la chaîne. Ensuite, tous les 24 champs. sont les informations de description d'une commande, et les 6 derniers champs sont les informations récapitulatives de la facture. Par conséquent, la totalité de la facture peut être parcourue via la boucle for. Le code ne prend que les champs dont j'ai besoin, si d'autres champs sont nécessaires, je peux les ajouter moi-même selon ce format.

Le code doit encore être amélioré sur les points suivants :

1. Il ne prend pas en compte le cas où la chaîne est particulièrement volumineuse, ce qui peut entraîner une perte de mémoire allouée par le processus php. être épuisé. Pour les commandes marchandes ordinaires, chaque jour C'est suffisant lorsque le volume des échanges n'est pas particulièrement important.

2. Par défaut, le format renvoyé par WeChat est fixe. En fait, la correspondance dynamique peut être effectuée en fonction de la tête et de la queue de la chaîne renvoyée par WeChat.

Recommandations associées :

Méthode php de traitement des URL avec des caractères chinois

Méthode php de traitement des fichiers de téléchargement de formulaire

Méthode d'instance de table Excel de traitement PHP

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:
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