亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

微信的三種支付方式接入:APP支付、公眾號(hào)支付、掃碼支付

rollback / 3988人閱讀

摘要:項(xiàng)目版本微信的支付邏輯與支付寶的支付有一些差別。調(diào)用微信支付不同接口需要的參數(shù)會(huì)有差別。調(diào)用客戶(hù)端的方式查看微信文檔掃碼支付返回了一個(gè)地址。可直接放入微信的完成調(diào)用。

payment 項(xiàng)目2.0版本

微信的支付邏輯與支付寶的支付有一些差別。為了讓客戶(hù)端忽略這些差別,統(tǒng)一調(diào)用。本sdk做了對(duì)應(yīng)處理。

# SDK調(diào)用

微信支付不同接口需要的參數(shù)會(huì)有差別。請(qǐng)大家在使用接口時(shí),仔細(xì)查看文檔。

use PaymentChargeContext;
use PaymentConfig;
use PaymentCommonPayException;

// 微信支付,必須設(shè)置時(shí)區(qū),否則發(fā)生錯(cuò)誤
date_default_timezone_set("Asia/Shanghai");

//  生成訂單號(hào) 便于測(cè)試
function createPayid()
{
    return date("Ymdhis", time()).substr(floor(microtime()*1000),0,1).rand(0,9);
}

// 訂單信息
$payData = [
    "order_no"    => createPayid(),
    "amount"    => "0.01",// 單位為元 ,最小為0.01
    "client_ip"    => "127.0.0.1",
    "subject"    => "測(cè)試支付",
    "body"    => "支付接口測(cè)試",
    "extra_param"    => "",
];

// 微信掃碼支付,需要設(shè)置的參數(shù)
$payData["product_id"]  = "123456";

// 微信公眾號(hào)支付,需要的參數(shù)
$payData["openid"] = "otijfvr2oMz3tXnaQdKKbQeeBmhM";// 需要通過(guò)微信提供的api獲取該openid

/**
 * 包含客戶(hù)的配置文件
 * 本次 2.0 版本,主要的改變是將配置文件獨(dú)立出來(lái),便于客戶(hù)多個(gè)賬號(hào)的情況
 * 已經(jīng)使用不同方式讀取配置文件,如:db  file   cache等
 */
$wxconfig = [
    "app_id"    => "wxxxx",  // 公眾賬號(hào)ID
    "mch_id"    => "xxxx",// 商戶(hù)id
    "md5_key"   => "xxxxxx",// md5 秘鑰

    "notify_url"    => "http://test.helei.com/pay-notify.html",
    "time_expire"    => "14",

    // 涉及資金流動(dòng)時(shí),需要提供該文件
    "cert_path" => dirname(__FILE__) . DIRECTORY_SEPARATOR . "wx" . DIRECTORY_SEPARATOR . "apiclient_cert.pem",
    "key_path"  => dirname(__FILE__) . DIRECTORY_SEPARATOR . "wx" . DIRECTORY_SEPARATOR . "apiclient_key.pem",
];

/**
 * 實(shí)例化支付環(huán)境類(lèi),進(jìn)行支付創(chuàng)建
 */
$charge = new ChargeContext();

try {

    // 微信 掃碼支付
    $type = Config::WX_CHANNEL_QR;

    // 微信 APP支付
    //$type = Config::WX_CHANNEL_APP;

    // 微信 公眾號(hào)支付
    //$type = Config::WX_CHANNEL_PUB;
    $charge->initCharge($type, $wxconfig);
    $ret = $charge->charge($payData);
} catch (PayException $e) {
    echo $e->errorMessage();exit;
}

if ($type === Config::WX_CHANNEL_QR) {
    $url = urlencode($ret);
    echo "";
} elseif ($type === Config::WX_CHANNEL_PUB) {
    $json = $ret;
    var_dump($json);exit;
} elseif (stripos($type, "wx") !== false) {
    var_dump($ret);
}

?>

這里掃碼支付與公眾號(hào)支付分別需要提供不同的參數(shù)。請(qǐng)一定注意進(jìn)行區(qū)分。否則調(diào)用相應(yīng)端口會(huì)拋出異常。

配置文件
參數(shù) 參數(shù)名 參數(shù)說(shuō)明 是否必須
app_id 公眾賬號(hào)ID/應(yīng)用id 微信分配的公眾賬號(hào)ID
mch_id 商戶(hù)號(hào) 微信支付分配的商戶(hù)號(hào)
md5_key 加密的key 在商戶(hù)中心設(shè)置
notify_url 通知地址 接收微信支付異步通知回調(diào)地址,通知url必須為直接可訪(fǎng)問(wèn)的url,不能攜帶參數(shù)。
time_expire 交易過(guò)期時(shí)間 單位為分鐘,過(guò)期后無(wú)法再次支付
cert_path 密鑰文件 可在微信商戶(hù)后臺(tái)中下載 否,退款需要
key_path 密鑰文件 可在商戶(hù)中心下載 否,退款需要

這里需要注意的是,app_id,由于微信的三個(gè)支付接口,需要對(duì)應(yīng)兩個(gè)不同的app_id。因此再開(kāi)發(fā)中一定要注意。

請(qǐng)求參數(shù)
參數(shù) 參數(shù)名 參數(shù)說(shuō)明 是否必須
order_no 訂單號(hào) 平臺(tái)根據(jù)規(guī)則生成的訂單號(hào),最長(zhǎng)64位,要在商戶(hù)數(shù)據(jù)庫(kù)中唯一 必須
amount 交易總金額 該筆訂單的資金總額,單位為RMB-Yuan。取值范圍為[0.01,100000000.00],精確到小數(shù)點(diǎn)后兩位。 必須
client_ip 客戶(hù)端IP 用戶(hù)在創(chuàng)建交易時(shí),該用戶(hù)當(dāng)前所使用機(jī)器的IP。 必須
subject 商品名稱(chēng) 商品的標(biāo)題/交易標(biāo)題/訂單標(biāo)題/訂單關(guān)鍵字等。該參數(shù)最長(zhǎng)為128個(gè)漢字。 必須
body 商品描述 對(duì)一筆交易的具體描述信息。如果是多種商品,請(qǐng)將商品描述字符串累加傳給body。 必須
extra_param 公用回傳參數(shù) 如果用戶(hù)請(qǐng)求時(shí)傳遞了該參數(shù),則返回給商戶(hù)時(shí)會(huì)回傳該參數(shù)。 可選
product_id 商品ID 掃碼支付,此參數(shù)必傳。此id為二維碼中包含的商品ID,商戶(hù)自行定義。 可選
openid 用戶(hù)標(biāo)識(shí) 公眾號(hào)支付,此參數(shù)必傳,用戶(hù)在商戶(hù)appid下的唯一標(biāo)識(shí)。 可選
返回值描述

三種支付方式返回值因?yàn)樘幚矸绞讲煌?,微信方面返回了不同的?lèi)型。

app支付返回了需要調(diào)用的數(shù)組。調(diào)用客戶(hù)端的方式 查看微信文檔

掃碼支付返回了一個(gè)地址??缮梢粋€(gè)二維碼,完成支付。

公眾號(hào)支付,返回的是一個(gè)json數(shù)據(jù)??芍苯臃湃胛⑿诺膕dk完成jsapi調(diào)用。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/21900.html

相關(guān)文章

  • PHP接入微信退款接口

    摘要:項(xiàng)目版本微信的退款操作,通過(guò)封裝與前面支付寶退款除了配置文件,基本一樣。微信僅能每次退款筆如果想要實(shí)現(xiàn)一次退訂多筆訂單,可在客戶(hù)端通過(guò)循環(huán)來(lái)處理。 payment 項(xiàng)目2.0版本 微信的退款操作,通過(guò)封裝與前面支付寶退款除了配置文件,基本一樣。 退款代碼如下: use PaymentRefundContext; use PaymentCommonPayException; use P...

    caspar 評(píng)論0 收藏0
  • 淺析微信支付微信支付簡(jiǎn)單介紹(小程序、公眾號(hào)、App、H5)

    摘要:本文是淺析微信支付系列文章的第二篇,主要講解一下普通商戶(hù)接入的支付方式以及其中的不同之處。淺析微信支付前篇大綱微信支付是集成在微信客戶(hù)端的支付功能,用戶(hù)可以通過(guò)手機(jī)完成快速的支付流程。目前微信支付支持手機(jī)系統(tǒng)有蘋(píng)果安卓和。 本文是【淺析微信支付】系列文章的第二篇,主要講解一下普通商戶(hù)接入的支付方式以及其中的不同之處。 上篇文章講了本系列的大綱,沒(méi)有看過(guò)的朋友們可以看一下。 淺析微信支...

    shadowbook 評(píng)論0 收藏0
  • 準(zhǔn)備接入個(gè)人支付接口?看完這幾款支付產(chǎn)品再做決定!

    摘要:支持的付款方式主打銀聯(lián)信用卡等,付款可以及時(shí)到賬。支持的付款方式主要是微信支付寶和京東支付。支持微信支付寶掃碼支付。 最近在開(kāi)發(fā)自己的網(wǎng)站,想要接入一個(gè)第三方的支付平臺(tái),但是處在創(chuàng)業(yè)初期,還沒(méi)能成立公司,所以沒(méi)有企業(yè)資質(zhì),想接入一款安全且性?xún)r(jià)比高的收款產(chǎn)品。以本人選擇困難癥再加點(diǎn)小糾結(jié)的個(gè)性,對(duì)現(xiàn)有的一些第三方支付接口做了一個(gè)對(duì)比,希望能給有相同需要的和正在尋求相關(guān)解決方案的朋友提供一...

    SimonMa 評(píng)論0 收藏0
  • 個(gè)人支付接口現(xiàn)狀分析——總有一款適合你

    摘要:支付寶支持網(wǎng)站支付,支付,支付和當(dāng)面付,但是要想接入網(wǎng)站,需要網(wǎng)站備案,并且還要有營(yíng)業(yè)執(zhí)照??墒?,這個(gè)途徑后來(lái)經(jīng)過(guò)證實(shí),支付寶已經(jīng)停用。缺點(diǎn)也是相當(dāng)?shù)拿黠@只有支付寶可以用這種方式,因?yàn)槲⑿攀窃趦?nèi)部有一個(gè)公眾號(hào)形式的提示。 0.背景 前段時(shí)間準(zhǔn)備把自己的博客做成付費(fèi)閱讀或者訂閱的形式,雖然沒(méi)想著要贏(yíng)利多少錢(qián),但是起碼養(yǎng)的起自己站點(diǎn)域名服務(wù)器費(fèi)用即可。但是大家都懂,草根站長(zhǎng),又沒(méi)公司,想...

    tylin 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<