Heim  >  Artikel  >  Backend-Entwicklung  >  So lösen Sie das Fehlerproblem bei der WeChat-Zahlung php7.0

So lösen Sie das Fehlerproblem bei der WeChat-Zahlung php7.0

藏色散人
藏色散人Original
2022-01-24 09:17:242805Durchsuche

Lösungen für den WeChat-Zahlungsfehler php7.0: 1. Überprüfen Sie die WeChat-API. 2. Verwenden Sie „php://inpu“ anstelle von „$GLOBALS['HTTP_RAW_POST_DATA']“, um Daten zu erhalten.

So lösen Sie das Fehlerproblem bei der WeChat-Zahlung php7.0

Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.0, DELL G3-Computer

Wie löst man das WeChat-Zahlungsfehlerproblem PHP7.0?

PHP7 WeChat-Zahlungsrückruf-Fehlerlösung :

Upgrade Nach Abschluss von PHP7 stellte ich fest, dass der WeChat-Zahlungsrückruf fehlgeschlagen ist. Es stellt sich heraus, dass $GLOBALS['HTTP_RAW_POST_DATA'] nicht definiert ist.

php7 hat diese globale Variable entfernt.

Der Fragecode lautet wie folgt:

WeChat-API: WxPay.Api.php

public static function notify($callback, &$msg)
    {
        //获取通知的数据
        $xml = $GLOBALS['HTTP_RAW_POST_DATA'];//这里在php7下不能获取数据,使用 php://input 代替
        if(!$xml){
            $xml = file_get_contents("php://input");
        }
        //如果返回成功则验证签名
        try {
            $result = WxPayResults::Init($xml);
        } catch (WxPayException $e){
            $msg = $e->errorMessage();
            return false;
        }
        
        return call_user_func($callback, $result);
    }

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo lösen Sie das Fehlerproblem bei der WeChat-Zahlung php7.0. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn