Example #1
0
 /**
  * 生成支付代码
  * @param   array   $order      订单信息
  * @param   array   $payment    支付方式信息
  */
 function pay_from($order, $payment)
 {
     //dump($payment);
     if (!defined('EC_CHARSET')) {
         $charset = 'utf-8';
     } else {
         $charset = EC_CHARSET;
     }
     $extra_common_param = $order['text1'];
     $parameter = array('extra_common_param' => $extra_common_param, 'service' => 'create_direct_pay_by_user', 'partner' => $payment['cfg_id'], '_input_charset' => $charset, 'notify_url' => BG_return_url(basename(__FILE__, '.php')), 'return_url' => return_url(basename(__FILE__, '.php')), 'subject' => $order['order_sn'], 'out_trade_no' => $order['order_sn'], 'price' => $order['order_amount'], 'quantity' => 1, 'payment_type' => 1, 'logistics_type' => 'EXPRESS', 'logistics_fee' => 0, 'logistics_payment' => 'BUYER_PAY_AFTER_RECEIVE', 'seller_email' => $payment['cfg_value'], "paymethod" => 'bankPay', "defaultbank" => $order['pay_num']);
     ksort($parameter);
     reset($parameter);
     $param = '';
     $sign = '';
     foreach ($parameter as $key => $val) {
         $param .= "{$key}=" . urlencode($val) . "&";
         $sign .= "{$key}={$val}&";
     }
     $param = substr($param, 0, -1);
     $sign = substr($sign, 0, -1) . $payment['cfg_key'];
     //$sign  = substr($sign, 0, -1). ALIPAY_AUTH;
     $button = '<div style="text-align:center"><input type="button" onclick="window.open(\'' . $payment['cfg_gate'] . '?' . $param . '&sign=' . md5($sign) . '&sign_type=MD5\')" value="' . $GLOBALS['_LANG']['pay_button'] . '" /></div>';
     //dump(htmlentities($button));
     return $button;
 }
Example #2
0
 function md5_encode($mdOeder, $payment_config)
 {
     $sign = 'orderid=' . $mdOeder['order_sn'] . '&origin=' . $payment_config['cfg_value'] . '&chargemoney=' . $mdOeder['order_amount'] . '&channelid=1&paytype=1&bankcode=' . $mdOeder['pay_num'] . '&cardno=&cardpwd=&cardamount=&fronturl=' . return_url(basename(__FILE__, '.php')) . '&bgurl=' . BG_return_url(basename(__FILE__, '.php')) . '&ext1=' . $mdOeder['ext1'] . '&ext2=' . $mdOeder['ext2'];
     if ($payment_config['cfg_key']) {
         $sign = substr(md5($sign . $payment_config['cfg_key']), 8, 16);
         //md5 16加密
     } else {
         $sign = md5($sign);
     }
     return $sign;
 }