本文目錄一覽:
- 1、支付如何調取第三方的sdk–收銀台頁面描述
- 2、php全開源的超市收銀系統
- 3、如何用ASP+SQL SERVER實現超市收銀台的結帳功能,具體給一些代碼.謝謝
- 4、自助收銀台的前端一般用什麼軟件開發
- 5、php 5.3.13怎麼使用支付寶RSA2
支付如何調取第三方的sdk–收銀台頁面描述
收銀台頁面微信支付方式:
JSAPI(微信公眾號支付) 微信里、微信的朋友圈 點開 網址
MWEB(微信h5支付) 電腦或是手機 瀏覽器點開網址
APP(微信app支付)app內
收銀台頁面支付寶支付方式:
aliWeb (h5支付)
aliApp (app支付)
我用微信瀏覽器打開的,就是微信公眾號支付、用其他瀏覽器打開的就是h5支付,在公司app內打開的是app支付
在created中調用的接口的返回值中,有是哪種支付方式(後台判斷依據,如果是公司內部app就是app支付,else 如果有微信環境,是微信公眾號支付,else 是h5支付)
微信拉取方式:
h5:接口返回跳轉鏈接,支付成功後,回調中拼接跳轉success頁面
公眾號支付:使用JSAPI調取支付
;index=6
APP支付:app內拉取微信的支付界面或者支付寶的支付界面,需要調用app內的原生方法
支付寶拉取支付
網頁支付:自動提交阿里支付form
app支付:調取app的原生方法
微信公眾號支付詳聊:
WeixinJSBridge微信中內置的對象,可以判斷該對象,進行函數調用
php全開源的超市收銀系統
你買個超市收銀系統還不用用一套商城系統,monxin全網通商城系統,PHP開源線,嚴格的出入庫進銷存,一次付費永久使用。
如何用ASP+SQL SERVER實現超市收銀台的結帳功能,具體給一些代碼.謝謝
如果要打印小票,估計單純ASP+SQL很難實現,因為不能很好的定位,我是用VB控件實現票據打印的,特別是套打,有興趣可以一起研究
自助收銀台的前端一般用什麼軟件開發
主要有:BASIC、PASCAL、C、COBOL、FORTRAN、LOGO以及VC、VB java等 最受歡迎的依次為c、java 、c++ 、php。
1、C\C++ 常用軟件是MS VC++(6.0和更高版本)集成在微軟的開發工具visual studio中,JAVA桌面編程常用軟件是netbean,網絡編程是MyEclipse(包括了常用的Eclipse和常用工具,目前Java最流行的網絡編程軟件)。
2、C#沒有別的軟件,就是MS VC#,也集成在了Visual studio中,常用的是2005版,還有2008,微軟官方有下載,有免費的學習版。
3、pascal就是Turbo Pascal。
php 5.3.13怎麼使用支付寶RSA2
配置開發者信息「私鑰」And「App_id」
/* 配置信息 */
// 支付寶分配給開發者的應用ID
$app_id=”;
// 開發者私鑰,為這裡填入方便,去頭、去尾、去換行 字符串私鑰,私鑰處理放在簽名方法內。
$private_key=”;
// 商戶生成簽名字符串所使用的簽名算法類型,目前支持RSA2和RSA,推薦使用RSA2
$sign_type=’RSA2′;
/* 配置信息 */
2.組裝部分請求參數:根據接口文檔組裝參數 app_id、method、format、timestamp、charset、version、notify_url、sign_type
/* 組裝請求參數部分start */
// 支付寶分配給開發者的應用ID
$params[‘app_id’] = $app_id;
// 接口名稱
$params[‘method’] = ‘alipay.trade.app.pay’;
// 僅支持JSON
$params[‘format’] = ‘json’;
// 發送請求的時間,格式”yyyy-MM-dd HH:mm:ss”
$params[‘timestamp’] = date(“Y-m-d H:i:s”);
// 請求使用的編碼格式,如utf-8,gbk,gb2312等
$params[‘charset’] = ‘UTF-8’;
// 調用的接口版本,固定為:1.0
$params[‘version’] = ‘1.0’;
// 支付寶服務器主動通知商戶服務器里指定的頁面http/https路徑。建議商戶使用https
$params[‘notify_url’] = ”;
// 商戶生成簽名字符串所使用的簽名算法類型,目前支持RSA2和RSA,推薦使用RSA2
$params[‘sign_type’] = $sign_type;
/* 組裝請求參數部分end */
3.組裝業務參數json格式,並填充在$params數組中
/* 組裝業務參數json */
// 對一筆交易的具體描述信息。如果是多種商品,請將商品描述字符串累加傳給body。
$bizcontent[‘body’] = ‘非sdk原生php服務端生成請求訂單’;
// 商品的標題/交易標題/訂單標題/訂單關鍵字等。
$bizcontent[‘subject’] = ‘php代碼示例’;
/* 生成隨機數作為外部訂單號start */
$date=date(“YmdHis”);
$arr=range(1000,9999);
shuffle($arr);
$out_trade_no=$date.$arr[0];
/* 生成隨機數作為外部訂單號end */
// 商戶網站唯一訂單號
$bizcontent[‘out_trade_no’] = $out_trade_no;
// 設置未付款支付寶交易的超時時間,一旦超時,該筆交易就會自動被關閉。當用戶進入支付寶收銀台頁面(不包括登錄頁面),會觸發即刻創建支付寶交易,此時開始計時。取值範圍:1m~15d。m-分鐘,h-小時,d-天,1c-當天(1c-當天的情況下,無論交易何時創建,都在0點關閉)。 該參數數值不接受小數點, 如 1.5h,可轉換為 90m。
$bizcontent[‘timeout_express’]=’10m’;
// 訂單總金額,單位為元,精確到小數點後兩位,取值範圍[0.01,100000000]
$bizcontent[‘total_amount’] = ‘0.01’;
// 銷售產品碼,商家和支付寶簽約的產品碼
$bizcontent[‘product_code’] = ‘QUICK_MSECURITY_PAY’;
// 商品主類型:0—虛擬類商品,1—實物類商品 註:虛擬類商品不支持使用花唄渠道
$bizcontent[‘goods_type’] = ‘0’;
// 公用回傳參數,如果請求時傳遞了該參數,則返回給商戶時會回傳該參數。支付寶會在異步通知時將該參數原樣返回。本參數必須進行UrlEncode之後才可以發送給支付寶
$bizcontent[‘passback_params’]=’spicy%3d%e8%87%aa%e5%ae%9a%e4%b9%89%e5%8f%82%e6%95%b01%26custom%3d%e8%87%aa%e5%ae%9a%e4%b9%89%e5%8f%82%e6%95%b02′;
$biz_content=json_encode($bizcontent,JSON_UNESCAPED_UNICODE);
/* 組裝業務參數json */
// 將業務參數填充在請求參數內
$params[‘biz_content’] = $biz_content;
4.排序簽名得到sign,並填充在$params數組中「簽名方法請往下翻」
// 排序
ksort($params);
// 調用簽名方法得到sign填入請求參數
$params[‘sign’] = sign($params, $params[‘sign_type’], $private_key);
5.將參數urlencode輸出查看,打印出來的參數可以直接放在客戶端使用
// htmlspecialchars是為防止瀏覽器將參數中的「×」和「¬」轉義
echo htmlspecialchars(http_build_query($params));
工具方法:簽名方法和檢查是否為空方法
/**
* 簽名函數
*
* @param array $params 請求參數數組
* @param string $signType 簽名方式
* @param string $private_key 為了方便只要填一行字符串
* @return string 返回類型
*/
function sign($params,$signType,$private_key){
$stringToBeSigned = “”;
$i = 0;
// 將數組使用符號拼接
foreach ($params as $k = $v) {
if (false === checkEmpty($v) “@” != substr($v, 0, 1)) {
if ($i == 0) {
$stringToBeSigned .= “$k” . “=” . “$v”;
} else {
$stringToBeSigned .= “” . “$k” . “=” . “$v”;
}
$i++;
}
}
unset ($k, $v);
// 私鑰處理
$res = “—–BEGIN RSA PRIVATE KEY—–“.PHP_EOL.wordwrap($private_key, 64, PHP_EOL, true).PHP_EOL.”—–END RSA PRIVATE KEY—–“;
($res) or die(‘您使用的私鑰格式錯誤,請檢查RSA私鑰配置’);
//
if (“RSA2” == $signType) {
openssl_sign($stringToBeSigned, $sign, $res, OPENSSL_ALGO_SHA256);
} else {
openssl_sign($stringToBeSigned, $sign, $res);
}
return base64_encode($sign);
}
/**
* 檢查是否為空
*
* @param string $value 請求參數數組
* @return bool 返回類型
*/
function checkEmpty($value) {
if (!isset($value))
return true;
if ($value === null)
return true;
if (trim($value) === “”)
return true;
return false;
}
原創文章,作者:XCSU,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/139981.html