Ⅰ 支付寶統一收單交易創建介面,在PHP中怎麼傳遞notify_url,具體的代碼,不知道的別亂回答,謝謝
$request = new AlipayTradeWapPayRequest();
$request->setNotifyUrl($notify_url);
Ⅱ alipay.trade.create和pay的區別
區別是:
1、商戶系統調用預下單介面alipay.trade.precreate,獲得該訂單二維碼圖片地址。
2、發起輪詢獲得支付結果:等待5秒後調用交易查詢介面alipay.trade.query通過支付時傳入的商戶訂單號(out_trade_no)查詢支付結果(返回參數TRADE_STATUS),如果仍然返回等待用戶付款(WAIT_BUYER_PAY),則再次等待5秒後繼續查詢,直到返回確切的支付結果(成功TRADE_SUCCESS 或 已撤銷關閉TRADE_CLOSED),或是超出輪詢時間。在最後一次查詢仍然返回等待用戶付款的情況下,必須立即調用交易撤銷介面alipay.trade.cancel將這筆交易撤銷,避免用戶繼續支付。
3、除了主動輪詢,也可以通過接受非同步通知獲得支付結果,詳見掃碼非同步通知,注意一定要對非同步通知做驗簽,確保通知是發出的。
Ⅲ 支付寶 即時到賬交易介面接 問題
付款成功之後的通知有兩種方式,一是 notify_url 伺服器推送,二是 return_url 網頁重定向。推薦兩者混合使用。
一般做法是在 notify_url 處理業務、記錄訂單信息之類的,這個都是在伺服器上進行的,只要你伺服器不崩就肯定會處理,即使崩了那麼支付寶沒收到你的成功回調,還會反復給你推送的。而 return_url 一般只是用來顯示付款成功與否的結果而已,這個是在客戶端瀏覽器上進行的,可能會存在用戶不等待跳轉直接就關閉了的情況。
如果你的業務需求只能在 return_url.php 里做業務處理的話,我記得原來有一個 single_trade_query 介面可以查詢單個訂單狀態的,結果在文檔沒找到,只找到了 alipay.user.trade.search 查詢訂單列表的,倒是也能實現。題主可以再翻翻文檔。
Ⅳ 微信網頁支付V3版js_api_call.php從訂單跳轉到微信支付提示缺少統一支付介面必填參數out_trade_no!
這個out_trade_no你請求過去沒,
這個out_trade_no是你自己網站上的訂單號,流程是這樣的
用戶在你的網站支付,你自己的網站首先生成一個訂單號,比如1234,然後把相關的信息請求給微信,這個out_trade_no也就是你的訂單號(1234),然後微信那邊支付成功之後會回調,他會把這個out_trade_no依然給你,你可以通過這個來識別是誰支付成功了
你的圖片
看到沒,那是個例子,你依然把他注釋了,所以那個$out_trade_no是空的,
商戶支付的訂單號由商戶自定義生成,微信支付要求商戶訂單號保持唯一性(建議根據當前系統時間加隨機序列來生成訂單號)。重新發起一筆支付要使用原訂單號,避免重復支付;已支付過或已調用關單、撤銷(請見後文的API列表)的訂單號不能重新發起支付。
Ⅳ .net如何獲取介面返回值
參考實例如下:
調用方法:
1、引入CommonAliPay.dll
2、實現介面的方法調用方式:
AliPay ap = new AliPay();
string key = "";//填寫自己的key
string partner = "";//填寫自己的Partner
StandardGoods bp = new StandardGoods("trade_create_by_buyer", partner, key, "MD5", "卡2", Guid.NewGuid().ToString(), 2.551m, 1, "[email protected]", "[email protected]"
, "EMS", 25.00m, "BUYER_PAY","1");
bp.Notify_Url = "http://203.86.79.185/ali/notify.aspx";
ap.CreateStandardTrade("https://www.alipay.com/cooperate/gateway.do", bp, this);上面是通用的調用方式。
下面是只支持虛擬貨物的方式:
string key = "";//填寫自己的key
string partner = "";//填寫自己的Partner
AliPay ap = new AliPay();
DigitalGoods bp = new DigitalGoods("create_digital_goods_trade_p", partner, key, "MD5", "卡2", Guid.NewGuid().ToString(), 2.551m, 1, "[email protected]", "[email protected]");
bp.Notify_Url = "http://203.86.79.185/ali/notify.aspx";
ap.CreateDigitalTrade("https://www.alipay.com/cooperate/gateway.do", bp, this);3、實現通知介面方法的調用(支持虛擬和實物):
protected void Page_Load(object sender, EventArgs e)
{
string key = "";//填寫自己的key
string partner = "";//填寫自己的Partner
AliPay ap = new AliPay();
string notifyid = Request.Form["notify_id"];
Verify v = new Verify("notify_verify", partner, notifyid);
ap.WaitSellerSendGoods+=new AliPay.ProcessNotifyEventHandler(ap_WaitSellerSendGoods);
ap.WaitBuyerPay += new AliPay.ProcessNotifyEventHandler(ap_WaitBuyerPay);
ap.ProcessNotify(this, "https://www.alipay.com/cooperate/gateway.do",key,v, "utf-8");
}
void ap_WaitBuyerPay(object sender, NotifyEventArgs e)
{
// //加入自己的處理邏輯
Log4net.log.Error("wait buyer pay fire");
}
private void ap_WaitSellerSendGoods(object sender, NotifyEventArgs e)
{
//加入自己的處理邏輯
Log4net.log.Error("WaitSellerSendGoods fire");
}的交易狀態都被定義成了類似名稱的事件。
部分源代碼解析:
1、解析Forms集合到NotifyEventArgs類,因為後面此類的數據要用來做MD5Sign,所以所有值類型,不能存在初始值,如:int的0等。因此用Nullable范型。
private NotifyEventArgs ParseNotify(NameValueCollection nv, object obj)
{
PropertyInfo[] propertyInfos = obj.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance);
foreach (PropertyInfo pi in propertyInfos)
{
string v = nv.Get(pi.Name.ToLower());
if (v != null)
{
if (pi.PropertyType == typeof(string))
{
pi.SetValue(obj, v, null);
}
else if (pi.PropertyType == typeof(int?))
{
pi.SetValue(obj, int.Parse(v), null);
}
else if (pi.PropertyType == typeof(decimal?))
{
pi.SetValue(obj, decimal.Parse(v), null);
}
else if (pi.PropertyType == typeof(DateTime?))
{
pi.SetValue(obj, DateTime.Parse(v), null);
}
else if (pi.PropertyType == typeof(bool))
{
pi.SetValue(obj, bool.Parse(v), null);
}
else
{
//轉型失敗會拋出異常
pi.SetValue(obj, v, null);
}
}
}
return (NotifyEventArgs)obj;
}
2、從類型中獲取排序後的參數
/**//// <summary>
/// 獲取排序後的參數
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
private SortedList<string,string> GetParam(object obj)
{
PropertyInfo[] propertyInfos = obj.GetType().GetProperties(BindingFlags.Public|BindingFlags.Instance);
SortedList<string, string> sortedList = new SortedList<string, string>(StringComparer.CurrentCultureIgnoreCase);
foreach (PropertyInfo pi in propertyInfos)
{
if (pi.GetValue(obj, null) != null)
{
if (pi.Name == "Sign" || pi.Name == "Sign_Type")
{
continue;
}
sortedList.Add(pi.Name.ToLower(), pi.GetValue(obj, null).ToString());
}
}
return sortedList;
}3、從SortedList中產生參數
private string GetUrlParam(SortedList<string, string> sortedList,bool isEncode)
{
StringBuilder param = new StringBuilder();
StringBuilder encodeParam = new StringBuilder();
if (isEncode == false)
{
foreach (KeyValuePair<string, string> kvp in sortedList)
{
string t = string.Format("{0}={1}", kvp.Key, kvp.Value);
param.Append(t + "&");
}
return param.ToString().TrimEnd('&');
}
else
{
foreach (KeyValuePair<string, string> kvp in sortedList)
{
string et = string.Format("{0}={1}", HttpUtility.UrlEncode(kvp.Key), HttpUtility.UrlEncode(kvp.Value));
encodeParam.Append(et + "&");
}
return encodeParam.ToString().TrimEnd('&');
}
Ⅵ .net4.5的項目引用了一個.net2.0的dll,介面callback裡面引用context.session為空
Session為空,跟你下面說的PlatformNotSupportedException異常(這個是平台不支持,那幾個是需要操作系統Server 2008以上才支持)沒什麼關系。
你應該檢查context 是來自哪裡是否有Session,比如靜態頁面,沒有標記為 IRequireSessionState的頁面是不會有Session的
Ⅶ ctypes結構體裡面有double成員,結構體傳給c dll以後,double類型成員的值就變了
是不是pack問題?可以用sizeof看看在c中占據了多少位元組。
ctypes有個_pack_啥的選項可以控制pack的
Ⅷ 海通證券有沒有自動網格交易功能
輸入關鍵字
當前位置:網格魔方 > 網格魔方 > 正文
網格魔方使用教程二:參數配置
2018-03-27 評論(0)
本教程是自動化的網格交易系統入門的第二篇,介紹網格魔方的參數配置,只需設置一次,設置一次,設置一次!
如果還沒有下載、安裝網格魔方,請查看上一篇教程:一鍵安裝
一、放置交易介面及其授權文件
打開網格魔方程序,單擊菜單[常用]-[打開目錄],進入到網格程序的安裝目錄,默認路徑是C:\Program Files (x86)\GridTraderX。如圖一所示,將交易介面文件放置到此目錄下。
(圖一)
1. 如圖一所示,免費的交易介面只有一個文件(trade.dll),支持部分券商的賬戶,在免費試用頁面免費申請;付費的交易介面(TradeX.dll)已經內置在一鍵安裝包中,支持絕大部分券商的賬戶,需要申請試用或購買TradeX.lic授權文件。
2. 在試用或購買時,客服會提供一個類似「海通證券_配置參數_覆蓋網格目錄下System文件夾里的同名文件.rar」的壓縮包,將此壓縮包解壓後,把裡面的LoginInfo.xml文件復制並覆蓋到C:\Program Files (x86)\GridTraderX\System文件夾下。(從V3334版本開始,已經內置了大多數券商的參數,不再需要此文件)
二、參數填寫說明
1、單擊網格程序菜單[開始]-[參數配置],彈出新窗口,如圖二所示。對部分參數作了序號標注,便於說明:
(圖二)
A)交易終端:免費的Trade交易介面,選第一項(Trade API);付費的TradeX交易介面,選第二項(TradeX API)
B)序號1、2、3是必填參數。如果是普通賬戶,序號1和2的賬號是一樣的;如果是兩融賬戶,序號1和2的賬號通常不一樣;
C)序號4、5、6和7是交易介面的參數,每家券商都不一樣,網格程序採用國金證券的參數作為默認值;
D)序號8是自動登錄,該選項默認是未勾選中。只有測試、驗證登錄成功後方可勾選中,切記!
E)序號9是兩融類型,如果是融資融券賬戶,請勾選中並且把[最大持倉比例]參數調整到200。如果是普通賬戶,請不要勾選中。
F)序號10是關聯服務,針對需要打開並登錄通達信客戶端的插件版交易介面(TradeX2.dll),以通達信模擬操盤為代表。個別券商需要此功能,大部分券商不要勾選中此選項。
Ⅸ trade.dll中的帳號奇數是什麼數
賬戶奇數是這個軟體用來加密的機制,比如對1/3/5/7位的加密。現在trade.dll已經升級到tradex.dll了,股票行情和下單據說都可以用了,現在新版tradex.dll的語言介面擴充之後,更容易調試