wemall-mobile ist ein auf WeMall basierendes Android-App-Mall. Sie müssen lediglich die Schnittstellendatei in das ursprüngliche Mall-Verzeichnis hochladen, um die Serverkonfiguration abzuschließen, und der Client kann angepasst und geändert werden. Dieser Artikel teilt die öffentlichen Funktionen der Alipay-Schnittstelle des Wemall-App-Mall-Quellcodes für Android. Diese Klasse ist die Kernverarbeitungsdatei der öffentlichen Funktionen, die von den Anforderungs- und Benachrichtigungsrückgabedateien aufgerufen werden, damit Techniker darauf zugreifen und sie lernen können.
Der folgende Code ist nur ein Beispielcode, der Händlern das Testen erleichtert. Er kann gemäß der technischen Dokumentation entsprechend den Anforderungen ihrer eigenen Websites geschrieben werden. Dieser Code dient nur zum Lernen und Recherchieren Alipay-Schnittstelle und dient nur als Referenz.
Verketten Sie alle Elemente des Arrays zu einer Zeichenfolge mit dem Zeichen „&“ gemäß dem Muster „Parameter = Parameterwert“
<?php<br />
<br />
Funktion createLinkstring($para) {<br />
$arg = "";<br />
While (list ($key, $val) = every ($para)) {<br />
$arg.=$key."=".$val."&";<br />
}<br />
//Entferne das letzte &-Zeichen <br />
$arg = substr($arg,0,count($arg)-2);<br />
<br />
//Wenn ein Escape-Zeichen vorhanden ist, entfernen Sie das Escape-Zeichen <br />
If(get_magic_quotes_gpc()){$arg = stripeslashes($arg);}<br />
<br />
Geben Sie $arg;<br /> zurück
}<br />
/**<br />
* Verketten Sie alle Elemente des Arrays mit dem Zeichen „&“ gemäß dem Muster „Parameter = Parameterwert“ zu einer Zeichenfolge und kodieren Sie die Zeichenfolge mit der URL<br />
* @param $para Array, das gespleißt werden soll<br />
* Geben Sie die Zeichenfolge zurück, nachdem das Spleißen abgeschlossen ist <br />
*/<br />
Funktion createLinkstringUrlencode($para) {<br />
$arg = "";<br />
While (list ($key, $val) = every ($para)) {<br />
$arg.=$key."=".urlencode($val)."&";<br />
}<br />
//Entferne das letzte &-Zeichen <br />
$arg = substr($arg,0,count($arg)-2);<br />
<br />
//Wenn ein Escape-Zeichen vorhanden ist, entfernen Sie das Escape-Zeichen <br />
If(get_magic_quotes_gpc()){$arg = stripeslashes($arg);}<br />
<br />
Geben Sie $arg;<br /> zurück
}<br />
/**<br />
* Entfernen Sie Nullwerte und Signaturparameter im Array<br />
* @param $para Signaturparametergruppe<br />
* Gibt eine neue Signaturparametergruppe zurück, nachdem Nullwerte und Signaturparameter entfernt wurden<br />
*/<br />
Funktion paraFilter($para) {<br />
$para_filter = array();<br />
While (list ($key, $val) = every ($para)) {<br />
If($key == "sign" || $key == "sign_type" || $val == "")continue;<br />
}<br />
Gibt $para_filter;<br /> zurück
}<br />
/**<br />
* Sortieren Sie das Array <br />
* @param $para Array vor dem Sortieren<br />
* sortiertes Array zurückgeben<br />
*/<br />
Funktion argSort($para) {<br />
ksort($para);<br />
Zurücksetzen($para);<br />
Geben Sie $para;<br /> zurück
}<br />
/**<br />
*Schreiben Sie Protokolle, um das Testen zu erleichtern (je nach Website-Anforderungen können Sie Datensätze auch in der Datenbank speichern) <br />
* Hinweis: Der Server muss die Fopen-Konfiguration <br /> aktivieren
* @param $word Der Textinhalt, der in das Protokoll geschrieben werden soll. Standardwert: leerer Wert <br />
*/<br />
Funktion logResult($word='') {<br />
$fp = fopen("log.txt","a");<br />
flock($fp, LOCK_EX) ;<br />
fwrite($fp,"Ausführungsdatum:".strftime("%Y%m%d%H%M%S",time())."n".$word."n");<br />
flock($fp, LOCK_UN);<br />
fclose($fp);<br />
}<br />
<br />
/**<br />
* Daten aus der Ferne abrufen, POST-Modus <br />
* Hinweis: <br />
* 1. Um Crul zu verwenden, müssen Sie die Einstellungen der php.ini-Datei auf dem Server ändern und das „;“ davor entfernen
* 2. Bei der Datei cacert.pem im Ordner handelt es sich um ein SSL-Zertifikat. Der aktuelle Standardpfad lautet: getcwd().'\cacert.pem'<br />
* @param $url gibt die vollständige Pfadadresse der URL <br /> an
* @param $cacert_url gibt den absoluten Pfad des aktuellen Arbeitsverzeichnisses <br /> an
* @param $para Angeforderte Daten<br />
* @param $input_charset Kodierungsformat. Standardwert: leer <br />* Remote-Ausgabedaten zurückgeben<br />
*/<br />
Funktion getHttpResponsePOST($url, $cacert_url, $para, $input_charset = '') {<br />
<br />
If (trim($input_charset) != '') {<br />
$url = $url."_input_charset=".$input_charset;<br />
}<br />
$curl = curl_init($url);<br />
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);//SSL-Zertifikatauthentifizierung<br />
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);//Strenge Authentifizierung<br />
curl_setopt($curl, CURLOPT_CAINFO,$cacert_url);//Zertifikatadresse<br />
curl_setopt($curl, CURLOPT_HEADER, 0); // HTTP-Header filtern<br />
curl_setopt($curl,CURLOPT_RETURNTRANSFER, 1);//Ausgabeergebnisse anzeigen<br />
curl_setopt($curl,CURLOPT_POST,true); // Übertragungsdaten posten<br />
curl_setopt($curl,CURLOPT_POSTFIELDS,$para);//Übertragungsdaten veröffentlichen<br />
$responseText = curl_exec($curl);<br />
//var_dump( curl_error($curl) );//Wenn während der Curl-Ausführung eine Ausnahme auftritt, können Sie diesen Schalter aktivieren, um den Ausnahmeinhalt <br /> anzuzeigen
curl_close($curl);<br />
<br />
Geben Sie $responseText;<br /> zurück
}<br />
<br />
/**<br />
* Daten aus der Ferne abrufen, GET-Modus <br />
* Hinweis: <br />
* 1. Um Crul zu verwenden, müssen Sie die Einstellungen der php.ini-Datei auf dem Server ändern und das „;“ davor entfernen
* 2. Bei der Datei cacert.pem im Ordner handelt es sich um ein SSL-Zertifikat. Der aktuelle Standardpfad lautet: getcwd().'\cacert.pem'<br />
* @param $url gibt die vollständige Pfadadresse der URL <br /> an
* @param $cacert_url gibt den absoluten Pfad des aktuellen Arbeitsverzeichnisses <br /> an
* Remote-Ausgabedaten zurückgeben<br />
*/<br />
Funktion getHttpResponseGET($url,$cacert_url) {<br />
$curl = curl_init($url);<br />
curl_setopt($curl, CURLOPT_HEADER, 0); // HTTP-Header filtern<br />
curl_setopt($curl,CURLOPT_RETURNTRANSFER, 1);//Ausgabeergebnisse anzeigen<br />
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);//SSL-Zertifikatauthentifizierung<br />
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);//Strenge Authentifizierung<br />
curl_setopt($curl, CURLOPT_CAINFO,$cacert_url);//Zertifikatadresse<br />
$responseText = curl_exec($curl);<br />
//var_dump( curl_error($curl) );//Wenn während der Curl-Ausführung eine Ausnahme auftritt, können Sie diesen Schalter aktivieren, um den Ausnahmeinhalt <br /> anzuzeigen
curl_close($curl);<br />
<br />
Geben Sie $responseText;<br /> zurück
}<br />
<br />
/**<br />
* Implementieren Sie mehrere Zeichenkodierungsmethoden<br />
* @param $input Die zu kodierende Zeichenfolge<br />
* @param $_output_charset Ausgabekodierungsformat<br />
* @param $_input_charset Eingabekodierungsformat<br />
* Gibt die codierte Zeichenfolge <br /> zurück
*/<br />
Funktion charsetEncode($input,$_output_charset,$_input_charset) {<br />
$output = "";<br />
If(!isset($_output_charset) )$_output_charset = $_input_charset;<br />
If($_input_charset == $_output_charset || $input ==null ) {<br />
$output = $input;<br />
} elseif (function_exists("mb_convert_encoding")) {<br />
$output = mb_convert_encoding($input,$_output_charset,$_input_charset);<br />
} elseif(function_exists("iconv")) {<br />
$output = iconv($_input_charset,$_output_charset,$input);<br />
} else die("Entschuldigung, Sie haben keine Libs-Unterstützung für Zeichensatzänderungen.");<br />
Geben Sie $output;<br /> zurück
}<br />
/**<br />
* Implementieren Sie mehrere Zeichendekodierungsmethoden <br />
* @param $input Die zu dekodierende Zeichenfolge<br />
* @param $_output_charset Ausgabe-Dekodierungsformat<br /> * @param $_input_charset 输入的解码格式<br />
* return 解码后的字符串<br />
*/<br />
Funktion charsetDecode($input,$_input_charset ,$_output_charset) {<br />
$output = "";<br />
if(!isset($_input_charset) )$_input_charset = $_input_charset ;<br />
if($_input_charset == $_output_charset || $input ==null ) {<br />
$output = $input;<br />
} elseif (function_exists("mb_convert_encoding")) {<br />
$output = mb_convert_encoding($input,$_output_charset,$_input_charset);<br />
} elseif(function_exists("iconv")) {<br />
$output = iconv($_input_charset,$_output_charset,$input);<br />
} else die("Es tut uns leid, Sie haben keine Libs-Unterstützung für Zeichensatzänderungen.");<br />
return $output;<br />
}<br />
?>
wemall官网地址:http://www.wemallshop.com