예제 #1
0
        /*
        参数:  orderInfo是string类型的订单信息;
                Callback是应用接收支付结果的异步回调委托;
                Protocol是前述步骤获取到的protocol name,在此处传入;
        返回值:无
        备注:  orderInfo参数传入的值如果和上次调用时相同的话,就可以实现被中断的支付场景恢复的功能;如果不相同,就被认为是一次新的订单。
               如果有支付结果,一定可以从callback中获取到;如果没有获取或者没有等到支付结果,您可以传入相同的orderInfo以恢复上次支付场景;
        建议:  建议用户调用时保存orderInfo,便于场景恢复。
         */
        public static void AlixpayAsync(string orderInfo, AlipayCallback callback,string protocol)
        {
            AlixPay curInstance = AlixPay.getInstance();
            curInstance.ProtocolName = protocol;
                
            //启动alipay
            curInstance.payStart(orderInfo, null, callback);

            return ;
        }
예제 #2
0
 /*
 参数:  protocolname是调用者应用(外部商户应用)的protocolname,如何获取protocolname请参考章节3.1.1.2
         Callback是应用接收支付结果的异步回调委托;
 返回值:无。
 功能:  如果快捷支付存在,就会调起快捷支付提示用户:支付模块正常,5秒后返回(用户也可以直接点击“返回”)。 5秒(或者点击“返回”)会自动返回到调用程序。
 备注:  如果callback中接收到这样的信息:“resultStatus={7100};memo={当前系统已经安装移动快捷支付应用。}”表明已经安装好移动快捷支付应用。
  */
 public async static void TestFastPayExist(string protocolname, AlipayCallback callback)
 {
     string uristr = "alifastpaywin8:?protocol=";
     mProtCallback = callback;
     uristr += protocolname; //protocolname是用于通知消息的。protocolname是商户传进来的。
     var uri = new Uri(uristr);//创建uri。
     var options = new Windows.System.LauncherOptions();
     options.DisplayApplicationPicker = false;            //为true时,强制显示选择列表。
     options.PreferredApplicationDisplayName = "移动快捷支付";                        //没有找到应用时,会弹出displayName
     options.PreferredApplicationPackageFamilyName = "424203F4.324177B885247_8asrdwhv739xj";  //这是移动快捷支付的packageFamilyName            
     await Windows.System.Launcher.LaunchUriAsync(uri, options);
     return ;
 }
예제 #3
0
 private void payStart(string order,string ctiCode,AlipayCallback callback)
 {
     mCurOrder = order;
     mCallback = callback;
     if (null == ctiCode)
     {
         mCtiCode = getCtiCode();
     }
     sdkDeinit();
     sdkInit();
     payTrigger();
 }
예제 #4
0
 private void onExitEx(String val)
 {
     if (null != mProtCallback)
     {
         mProtCallback(val);
     }
     mCallback = null;
     mProtCallback = null;
     mInstance = null;
     sdkDeinit();
 }