Heim >Backend-Entwicklung >PHP-Problem >So laden Sie Telefonrechnungen in PHP auf

So laden Sie Telefonrechnungen in PHP auf

藏色散人
藏色散人Original
2022-10-20 14:50:431870Durchsuche

So implementieren Sie das Aufladen des Telefons in PHP: 1. Öffnen Sie die Schnittstelle zum Aufladen des Telefons zur entsprechenden URL; 6. Überprüfen Sie, ob das Aufladen basierend auf dem Mobiltelefon und dem Nennwert unterstützt wird. 7. Führen Sie die Geschäftslogikverarbeitung durch „if ($local_sign == $sign) {...}“ durch.

So laden Sie Telefonrechnungen in PHP auf

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, Dell G3-Computer.

Wie lade ich Telefonrechnungen in PHP auf?

Beispiel für eine auf PHP basierende Schnittstelle zum Aufladen von Telefonrechnungen

1. Anwendung zur Schnittstellenaktivierung

Dieser Code basiert auf der API zum Aufladen von Telefonrechnungen, die auf aggregierten Daten basiert, um die Funktion zum Aufladen von Telefonrechnungen zu implementieren :

  • Bewerben Sie sich, um die Anrufrechnungsschnittstelle über https://www.juhe.cn/docs/api/id/85?s=cpphpcn Serve zu öffnen.

  • Erst nach Unterzeichnung eines entsprechenden Servicevertrags mit der Aggregation kann es offiziell genutzt werden. In der frühen Phase können Sie sich auch für die Eröffnung einer Testumgebung und die Durchführung von Docking-Tests bewerben.

  • Eine detaillierte Schnittstellenbeschreibung finden Sie in der offiziellen Dokumentation der Aggregation. 2. Schnittstellennutzung 2.1. Einführen gekapselter Codeklassen

    2.4. Abfrage des Bestellstatus
Zusätzlich zur aktiven Abfrage des Bestellstatus können Sie der Aggregation auch eine Status-Callback-Benachrichtigungs-URL bereitstellen. Wenn sich der Bestellstatus ändert, sendet die Aggregation die Statusinformationen aktiv an die entsprechende URL.

include "JuheHuaFei.class.php";

Rückgabeergebnis:

// 接口基本信息配置
$env = 1; // 接口环境类型,1:正式环境接口 2:测试环境接口
$appKey = 'b842820xxxxxxxxxxxxxxxxxx'; //从聚合申请的话费充值接口key
$openId = 'JHb0d92d94ce6axxxxxxxxxxx'; //注册聚合账号就会分配的openid,在个人中心可以查看
// 初始化
$juheHuaFei = new JuheHuaFei($appKey, $openId, $env);

2.5. Überprüfen Sie anhand des Mobiltelefons und des Nennwerts, ob das Aufladen unterstützt wird. Diese kleine Schnittstelle muss im tatsächlichen Geschäft nicht verwendet werden .

// 提交话费充值订单
$orderId = '111111111'; //自己定义一个订单号,需要保证唯一
$mobile = '189xxxxxxxx'; // 需要充值的手机号码
$perValue = '1'; // 话费面值,可以选择的面额1、2、5、10、20、30、50、100、300
$submitOrderResult = $juheHuaFei->submitOrder($mobile, $perValue, $orderId);
if ($submitOrderResult) {
    if ($submitOrderResult['error_code'] == '0') {
        // 订单提交成功,根据实际业务逻辑进行处理
        echo "订单提交成功,订单号:" . $submitOrderResult['result']['sporder_id'];
        print_r($submitOrderResult);
    } else {
        // 提交返回码error_code非正常状态,依据官方文档错误码说明,进行逻辑处理
        // 比如:10014,系统异常 / 208516,重复的订单号 等,需要进行二次查询/人工确认处理,不要直接失败处理,避免造成不必要的损失
        print_r($submitOrderResult);
    }
} else {
    // 可能网络异常等问题,未获得正确响应结果,建议进行二次查单/人工确认,不要直接失败处理,避免造成不必要的损失
    // 依据自己的业务逻辑进行处理
    echo "请求异常,请确认";
}

2.6. Erhalten Sie Produktinformationen basierend auf Mobiltelefon und Stückelung

Diese kleine Schnittstelle muss im tatsächlichen Geschäft nicht verwendet werden.

Array
(
    [reason] => 订单提交成功,等待充值
    [result] => Array
        (
            [cardid] => 10423
            [cardnum] => 1
            [ordercash] => 1.06
            [cardname] => 江苏电信话费1元
            [sporder_id] => J201125162114667xxxxxxxx
            [uorderid] => 111111111
            [game_userid] => 189xxxxxxxx
            [game_state] => 0
        )
    [error_code] => 0
)

Rückgabeergebnis:

// 话费订单充值状态查询
$orderId = '111111111'; // 需要查询的订单号,即提交订单时传递的orderId
$orderStatusResult = $juheHuaFei->queryOrderStatus($orderId);
if ($orderStatusResult) {
    // 打印返回结果
    print_r($orderStatusResult);
    // 根据实际业务逻辑进行处理
    if ($orderStatusResult['error_code'] == '0') {
        //查询成功
        if ($orderStatusResult['result']['game_state'] == '1') {
            // 订单充值成功了
            echo "订单充值成功";
        } elseif ($orderStatusResult['result']['game_state'] == '9') {
            // 订单充值失败
            echo "订单充值失败";
        } elseif ($orderStatusResult['result']['game_state'] == '0') {
            // 订单充值中
            echo "订单充值中";
        } elseif ($orderStatusResult['result']['game_state'] == '-1') {
            //订单受理失败,可能是如运营商维护、账户余额不足等情况
            echo "订单受理失败";
        }
    } else {
        //查询状态失败,可能订单号不存在等情况
        echo "查询失败:" . $orderStatusResult['reason'] . "(" . $orderStatusResult['error_code'] . ")";
    }
} else {
    // 可能网络异常等问题,未获得正确响应结果,建议进行二次查询
    // 依据自己的业务逻辑进行处理
    echo "请求异常,请确认";
}

2.7. Bestellstatusbenachrichtigung

Push-URL-Adresse: Geben Sie sie der Aggregation zur Konfiguration an (für mehr Sicherheit können Sie auch die IP des Aggregation-Push-Servers auf die Whitelist setzen)

Push-Methode: POST

Push-Parameter:

PHP empfängt asynchrone Benachrichtigung (Rückruf) Referenzcode:

Array
(
    [reason] => 查询成功
    [result] => Array
        (
            [uordercash] => 1.060
            [sporder_id] => J2011251629516xxxxxxxxxx
            [game_state] => 9
        )
    [error_code] => 0
)

2.8, JuheHuaFei.class.php

JuheHuaFei.class.php Vollständiger Code

// 根据手机号码及面额查询是否支持充值
$mobile = '1342966xxxx'; // 手机号码
$perValue = '10'; // 话费面值
$telCheckResult = $juheHuaFei->telCheck($mobile, $perValue);
if ($telCheckResult) {
    if($telCheckResult['error_code'] == '0'){
        //说明支持充值,可以继续充值操作,以下可以根据实际需求修改
        echo "OK";
    }else{
        //暂不支持充值,以下可以根据实际需求修改
        echo "对不起,该面额暂不支持充值";
    }
} else {
    // 可能网络异常等问题,未获得正确响应结果,建议进行二次查询
    // 依据自己的业务逻辑进行处理
    echo "请求异常,请确认";
}

Empfohlenes Lernen: „

PHP. Video Tutorial

Das obige ist der detaillierte Inhalt vonSo laden Sie Telefonrechnungen in PHP auf. 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