⑴ java中怎樣調用支付寶介面實現在線充值
net.sf.hibernate.MappingException
當出現net.sf.hibernate.MappingException: Error reading resource:…異常時一般是因為映射文
件出現錯誤。
當出現net.sf.hibernate.MappingException: Resource: … not found是因為XML配置文件沒找到所致,有可能是放置目錄不正確,或者沒將其加入hibernate.cfg.xml中。
⑵ 各位高手,請問java怎麼調用建設銀行在線支付的介面
應該有特定的jar包吧
⑶ 自己做一個小型的購系統怎樣用java調用支付寶介面
這個似乎要支付寶提供介面才行。不可能在不知道協議的情況下借用支付寶的功能的,因為如果你能輕松做到這點。基於數據安全、隱私等目的,我們需要向支付寶申請成為一個合作商戶機構並分配一個商戶編號。在我們申請了之後,支付寶會告訴我們用它提供的哪個 API 怎麼做到,說不定還有 demo 給我們看的。
⑷ java支付介面怎麼寫
調用支付寶支付介面說明
⑸ 怎麼用java調用微信支付介面
java調用微信支付介面方法:
RequestHandler requestHandler = new RequestHandler(super.getRequest(),super.getResponse());
//獲取token //兩小時內有效,兩小時後重新獲取
Token = requestHandler.GetToken();
//更新token 到應用中
requestHandler.getTokenReal();
System.out.println("微信支付獲取token=======================:" +Token);
//requestHandler 初始化
requestHandler.init();
requestHandler.init(appid,appsecret, appkey,partnerkey, key);
// --------------------------------本地系統生成訂單-------------------------------------
// 設置package訂單參數
SortedMap<String, String> packageParams = new TreeMap<String, String>();
packageParams.put("bank_type", "WX"); // 支付類型
packageParams.put("body", "xxxx"); // 商品描述
packageParams.put("fee_type", "1"); // 銀行幣種
packageParams.put("input_charset", "UTF-8"); // 字元集
packageParams.put("notify_url", "http://xxxx.com/xxxx/wxcallback"); // 通知地址 這里的通知地址使用外網地址測試,注意80埠是否打開。
packageParams.put("out_trade_no", no); // 商戶訂單號
packageParams.put("partner", partenerid); // 設置商戶號
packageParams.put("spbill_create_ip", super.getRequest().getRemoteHost()); // 訂單生成的機器IP,指用戶瀏覽器端IP
packageParams.put("total_fee", String.valueOf(rstotal)); // 商品總金額,以分為單位
// 設置支付參數
SortedMap<String, String> signParams = new TreeMap<String, String>();
signParams.put("appid", appid);
signParams.put("noncestr", noncestr);
signParams.put("traceid", PropertiesUtils.getOrderNO());
signParams.put("timestamp", timestamp);
signParams.put("package", packageValue);
signParams.put("appkey", this.appkey);
// 生成支付簽名,要採用URLENCODER的原始值進行SHA1演算法!
String sign ="";
try {
sign = Sha1Util.createSHA1Sign(signParams);
} catch (Exception e) {
e.printStackTrace();
}
// 增加非參與簽名的額外參數
signParams.put("sign_method", "sha1");
signParams.put("app_signature", sign);
// api支付拼包結束------------------------------------
//獲取prepayid
String prepayid = requestHandler.sendPrepay(signParams);
System.out.println("prepayid :" + prepayid);
// --------------------------------生成完成---------------------------------------------
//生成預付快訂單完成,返回給android,ios 掉起微信所需要的參數。
SortedMap<String, String> payParams = new TreeMap<String, String>();
payParams.put("appid", appid);
payParams.put("noncestr", noncestr);
payParams.put("package", "Sign=WXPay");
payParams.put("partnerid", partenerid);
payParams.put("prepayid", prepayid);
payParams.put("appkey", this.appkey);
//這里除1000 是因為參數長度限制。
int time = (int) (System.currentTimeMillis() / 1000);
payParams.put("timestamp",String.valueOf(time));
System.out.println("timestamp:" + time);
//簽名
String paysign ="";
try {
paysign = Sha1Util.createSHA1Sign(payParams);
} catch (Exception e) {
e.printStackTrace();
}
payParams.put("sign", paysign);
//拼json 數據返回給客戶端
BasicDBObject backObject = new BasicDBObject();
backObject.put("appid", appid);
backObject.put("noncestr", payParams.get("noncestr"));
backObject.put("package", "Sign=WXPay");
backObject.put("partnerid", payParams.get("partnerid"));
backObject.put("prepayid", payParams.get("prepayid"));
backObject.put("appkey", this.appkey);
backObject.put("timestamp",payParams.get("timestamp"));
backObject.put("sign",payParams.get("sign"));
String backstr = dataObject.toString();
System.out.println("backstr:" + backstr);
return backstr;
====================到此為止,預付款訂單已生成,並且已返回客戶端====================
//坐等微信伺服器通知,通知的地址就是生成預付款訂單的notify_url
ResponseHandler resHandler = new ResponseHandler(request, response);
resHandler.setKey(partnerkey);
//創建請求對象
//RequestHandler queryReq = new RequestHandler(request, response);
//queryReq.init();
if (resHandler.isTenpaySign() == true) {
//商戶訂單號
String out_trade_no = resHandler.getParameter("out_trade_no");
System.out.println("out_trade_no:" + out_trade_no);
//財付通訂單號
String transaction_id = resHandler.getParameter("transaction_id");
System.out.println("transaction_id:" + transaction_id);
//金額,以分為單位
String total_fee = resHandler.getParameter("total_fee");
//如果有使用折扣券,discount有值,total_fee+discount=原請求的total_fee
String discount = resHandler.getParameter("discount");
//支付結果
String trade_state = resHandler.getParameter("trade_state");
//判斷簽名及結果
if ("0".equals(trade_state)) {
//------------------------------
//即時到賬處理業務開始
//------------------------------
System.out.println("----------------業務邏輯執行-----------------");
//——請根據您的業務邏輯來編寫程序(以上代碼僅作參考)——
System.out.println("----------------業務邏輯執行完畢-----------------");
System.out.println("success"); // 請不要修改或刪除
System.out.println("即時到賬支付成功");
//給財付通系統發送成功信息,財付通系統收到此結果後不再進行後續通知
resHandler.sendToCFT("success");
//給微信伺服器返回success 否則30分鍾通知8次
return "success";
}else{
System.out.println("通知簽名驗證失敗");
resHandler.sendToCFT("fail");
response.setCharacterEncoding("utf-8");
}
}else {
System.out.println("fail -Md5 failed");
⑹ 哪位有java調用支付寶介面的例子
調用例子如圖
⑺ 怎麼讓自己的java系統使用支付介面
只做過支付寶、微信、銀聯的
支付寶和微信去官網注冊token,下載sdk就可以了,文檔很全。
銀聯的需要找他們要介面,自己慢慢調。
⑻ java調用支付寶介面怎麼保證安全
支付寶提供的介面前提都是基於用戶對商家的概念,就是說支付都是打到商家的賬戶上的.沒有個人之間的轉賬.
支付其實就是生成一個單號,相當於在商家那裡買了一個商品.
在 支付寶開發平台有提供各種形式的demo;java版本的包名create_direct_pay_by_user-JAVA-UTF-8;這個後面需要.
看看支付寶提供的幾個介面類:
1配置類:
提示:如何獲取安全校驗碼和合作身份者ID
*1.用您的簽約支付寶賬號登錄支付寶網站(www.alipay.com)
*2.點擊「商家服務」(https://b.alipay.com/order/myOrder.htm)
*3.點擊「查詢合作者身份(PID)」、「查詢安全校驗碼(Key)」
//支付的流程就是本地根據配置好的參數和參數生成的簽名,通過form表單,自動提交,生成鏈接提交給支付寶,支付寶驗證處理完後,回調給return_url的地址,
//然後在本地通過上傳前的參數和回調來的參數再次生成簽名對比,來看是否數值有變化,這樣雙向簽名認證後保證成功後用戶在進行自己的業務邏輯處理
public class AlipayConfig {
/**
* 合作身份者ID,以2088開頭由16位純數字組成的字元串
*/
public static String partner = Global.getConfig("partner");//我是參數內容我是寫在了配置文件裡面
/**
* 收款支付寶賬號,一般情況下收款賬號就是簽約賬號
*/
public static String seller_email =Global.getConfig("seller_email");
/**
* 商戶的私鑰
*/
public static String key = Global.getConfig("key");
/**
* notify_url 交易過程中伺服器通知的頁面 要用 http://格式的完整路徑,不允許加?id=123這類自定義參數
*這里不需要支付寶主動提供訂單狀態變化的回調的話,是暫時沒有用的,我這里沒用到
*/
public static String notify_url = Global.getConfig("notify_url");
/**
* 付完款後跳轉的頁面 要用 http://格式的完整路徑,不允許加?id=123這類自定義參數
* 不能寫成http://localhost/
*/
public static String return_url = Global.getConfig("return_url");
// 網站商品的展示地址,不允許加?id=123這類自定義參數
//public static String show_url = Global.getConfig("");//這里我也沒用到
//↑↑↑↑↑↑↑↑↑↑請在這里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
//訪問模式,根據自己的伺服器是否支持ssl訪問,若支持請選擇https;若不支持請選擇http
public static String transport = "http";
// 調試用,創建TXT日誌文件夾路徑;沒用到
// public static String log_path = Global.getConfig("");//"D:\\";
public static String log_path = "D:\\";
/**
* 字元編碼格式 目前支持 gbk 或 utf-8
* 好像必須是小寫的(沒試過)
*/
public static String input_charset = "utf-8";
/**
* 簽名方式 不需修改
*/
public static String sign_type = "MD5";
//所有沒用的配置信息,可以不用刪掉,但是不能為空,不然支付寶會報錯
}