Example #1
0
File: pay.php Project: qujian/ydwx
<?php

/**
 * 微信支付统一下单接口,生成预支付id,由ydwx的jsPayApi负责调起,与其配合完成微信内H5js调起支付
 */
chdir(dirname(__FILE__));
//把工作目录切换到文件所在目录
include_once dirname(__FILE__) . '/__config__.php';
$appid = $_POST['appid'];
$arg = new YDWXPayUnifiedOrderRequest();
$arg->openid = $_POST['openid'];
$arg->out_trade_no = $_POST['trace_no'];
$arg->total_fee = intval($_POST['price'] * 100);
$arg->attach = $_POST['attach'];
$arg->body = $_POST['pay_desc'];
try {
    $mchkey = YDWX_WEIXIN_COMPONENT_APP_ID ? YDWXHook::do_hook(YDWXHook::GET_HOST_MCH_KEY, $appid) : YDWX_WEIXIN_MCH_KEY;
    $msg = ydwx_pay_unifiedorder($arg);
    $str = "appId=" . $appid . "&nonceStr=" . $_POST['noncestr'] . "&package=prepay_id=" . $msg->prepay_id . "&signType=MD5&timeStamp=" . $_POST['timestamp'];
    $sign = strtoupper(md5($str . "&key=" . $mchkey));
    echo json_encode(ydwx_success(array("prepay_id" => $msg->prepay_id, "paySign" => $sign, "trade_no" => $_POST['trace_no'])));
    die;
} catch (YDWXException $e) {
    echo json_encode(ydwx_error($e->getMessage()));
    die;
}
Example #2
0
File: card.php Project: qujian/ydwx
<?php

/**
 * 卡券相关js处理的后端
 */
chdir(dirname(__FILE__));
//把工作目录切换到文件所在目录
include_once dirname(__FILE__) . '/__config__.php';
$action = $_POST['action'];
if (!$action) {
    echo json_encode(ydwx_error("非法请求"));
    die;
}
if ($action == "chooseCard") {
    $shopId = $_POST['shopId'];
    $cardType = $_POST['cardType'];
    $cardId = $_POST['cardId'];
    $appid = $_POST['appid'];
    $nonceStr = uniqid();
    $time = time();
    if (YDWX_WEIXIN_COMPONENT_APP_ID) {
        $card_jsapi_ticket = YDWXHook::do_hook(YDWXHook::GET_HOST_CARD_JSAPI_TICKET, $appid);
    } else {
        $card_jsapi_ticket = YDWXHook::do_hook(YDWXHook::GET_CARD_JSAPI_TICKET);
    }
    $array = array($nonceStr, $card_jsapi_ticket, $time, $shopId, $cardType, $cardId);
    $array = YDWXRequest::ignoreNull($array);
    sort($array);
    $cardSignStr = sha1(join("", $array));
    echo json_encode(ydwx_success(array("shopId" => $shopId, "cardType" => $cardType, "cardId" => $cardId, "nonceStr" => $nonceStr, "time" => $time, "cardSign" => $cardSignStr)));
    die;