コード例 #1
0
ファイル: routes.php プロジェクト: naveengamage/okaydrive
                $total_user_earnings = 0;
                foreach ($country_data as $cd) {
                    $rate = DB::table('pay_rate')->where('name', 'LIKE', '%' . $cd->country . '%')->first();
                    if ($cd->total != 0) {
                        $rate_thousand = $cd->total / 1000;
                        if (isset($rate->id)) {
                            $total_user_earnings += number_format($rate_thousand * $rate->rate, 2, '.', '');
                        } else {
                            $total_user_earnings += number_format($rate_thousand * 0.2, 2, '.', '');
                        }
                    } else {
                        $total_user_earnings += number_format(0, 2, '.', '');
                    }
                }
                if ($total_user_earnings >= 10) {
                    $npr = new PayRequest();
                    $npr->user_id = Auth::user()->id;
                    $npr->email = Input::get('email');
                    $npr->save();
                    return Redirect::to('earn/cashout')->with(array('errors' => 'Request has been submitted!'));
                } else {
                    return Redirect::to('earn/cashout')->with(array('errors' => 'Sorry, minimum cash out amount is $10!'));
                }
            } else {
                return Redirect::to('earn/cashout')->with(array('errors' => 'No email address specified!'));
            }
        }
    }
});
Route::get('torrent/{uniid}', function ($uniid) {
    if (Auth::guest()) {
コード例 #2
0
<?php

require_once './sdk/Hpp.Protocol.php';
require_once './sdk/Hpp.PayService.php';
require_once './repository.php';
//订单号
$orderNumber = md5(uniqid(mt_rand(), true));
//请求参数
$payRequest = new PayRequest();
$payRequest->setAppId('CA_APP-ID-0001');
$payRequest->setPayInterface($_POST['pay_interface']);
$payRequest->setOrderNumber($orderNumber);
$payRequest->setOrderSubject('php-demo-1分钱支付体验');
//订单标题
$payRequest->setOrderDescribe($_POST['order_describe']);
$payRequest->setAmount($_POST['order_amount']);
$payRequest->setCustomerIp('127.0.0.1');
$payRequest->setReturnUrl('http://127.0.0.1/callback-return.php?orderNumber' . $orderNumber);
$payResponse = new PayResponse(PayService::startPay($payRequest));
//保存部分参数供后续用
//订单状态
$payRequest->setValue('status', Protocol::STATUS_ORDER_CREATED);
$payRequest->setValue(Protocol::KEY_TRADE_SN, $payResponse->getTradeSn());
//相应数据
$payRequest->setValue('responseData', ['rawHtml' => $payResponse->getRawHtml(), 'wXQRPayUrl' => $payResponse->getWXQRPayUrl()]);
//订单日期
$now = (new DateTime())->format('m-d H:i:s');
$payRequest->setValue('createOn', $now);
Repository::save($payRequest->getOrderNumber(), $payRequest->toJsonString());
//ajax api输出
header('Content-Type: application/json; charset=UTF-8"');
コード例 #3
0
	private function buildPayRequest( PayRequest $request , AbstractPayPalMessageFactory $factory ) {
		$this->message->addChild( $factory->createMessageField( 'actionType' , $factory->createMessagePrimitive( $request->getActionType() ) ) );
		$this->message->addChild( $factory->createMessageField( 'cancelUrl' , $factory->createMessagePrimitive( $request->getCancelUrl() ) ) );

		if ( $request->getClientDetails() != null ) {
			$this->message->addChild( $factory->createMessageField( 'clientDetails' , $this->buildClientDetails( $request->clientDetails() ) ) );
		}

		$this->message->addChild( $factory->createMessageField( 'currencyCode' , $factory->createMessagePrimitive( $request->currencyCode()->value() ) ) );

		if ( $request->getFundingConstraint() != null ) {
			$this->message->addChild( $factory->createMessageField( 'fundingConstraint' , $this->buildFundingConstraint( $request->fundingConstraint() , $factory ) ) );
		}

		if ( ( $ipnNotificationUrl = $request->getIpnNotificationUrl() ) != null ) {
			$this->message->addChild( $factory->createMessageField( 'ipnNotificationUrl' , $factory->createMessagePrimitive( $ipnNotificationUrl ) ) );
		}

		if ( ( $memo = $request->getMemo() ) != null ) {
			$this->message->addChild( $factory->createMessageField( 'memo' , $factory->createMessagePrimitive( $memo ) ) );
		}

		if ( ( $pin = $request->getPin() ) != null ) {
			$this->message->addChild( $factory->createMessageField( 'pin' , $factory->createMessagePrimitive( $pin ) ) );
		}

		if ( ( $preaprovalKey = $request->getPreaprovalKey() ) != null ) {
			$this->message->addChild( $factory->createMessageField( 'preaprovalKey' , $factory->createMessagePrimitive( $preaprovalKey ) ) );
		}

		if ( $request->receiverList()->count() > 0 ) {
			$this->message->addChild( $factory->createMessageField( 'receiverList' , $this->buildReceiverList( $request->receiverList() , $factory ) ) );
		} else {
			throw new RuntimeException( 'You are *required* to specify at least one receiver' );
		}

		$this->message->addChild( $factory->createMessageField( 'returnUrl' , $factory->createMessagePrimitive( $request->getReturnUrl() ) ) );
		$this->message->addChild( $factory->createMessageField( 'requestEnvelope' , $this->buildRequestEnvelope( $request->requestEnvelope() , $factory ) ) );

		if ( ( $reverseAllParallelPaymentsOnError = $request->getReverseAllParallelPaymentsOnError() ) != null ) {
			$this->message->addChild( $factory->createMessageField( 'reverseAllParallelPaymentsOnError' , $factory->createMessagePrimitive( $reverseAllParallelPaymentsOnError ) ) );
		}

		if ( $request->getSender() != null ) {
			$this->message->addChild( $factory->createMessageField( 'sender' , $this->buildSender( $request->sender() , $factory ) ) );
		}

		if ( ( $senderEmail = $request->getSenderEmail() ) != null ) {
			$this->message->addChild( $factory->createMessageField( 'senderEmail' , $factory->createMessagePrimitive( $senderEmail ) ) );
		}

		if ( ( $trackingId = $request->getTrackingId() ) != null ) {
			$this->message->addChild( $factory->createMessageField( 'trackingId' , $factory->createMessagePrimitive( $trackingId ) ) );
		}
	}
コード例 #4
0
ファイル: pay.php プロジェクト: snamper/xiaoshuhaochi
//写在线支付数据
$dopaydata['status'] = 0;
$dopaydata['addtime'] = time();
$this->mysql->insert(Mysite::$app->config['tablepre'] . 'onlinelog', $dopaydata);
//id type upid  cost  status addtime
$newid = $this->mysql->insertid();
$totalcost = $dopaydata['cost'] * 100;
$subject = $dopaydata['type'] == 'order' ? '支付订单' : '在线充值';
require_once $paydir . "/classes/PayRequest.class.php";
require_once $paydir . "/tenpay_config.php";
$curDateTime = date("YmdHis");
$randNum = rand(1000, 9999);
/* 商家的定单号 */
$out_trade_no = $curDateTime . $randNum;
/* 创建支付请求对象 */
$reqHandler = new PayRequest($key);
// 设置在沙箱中运行,正式环境请设置为false
$reqHandler->setInSandBox(true);
//----------------------------------------
//以下业务参数名称参考开放平台sdk文档-PHP
//----------------------------------------
// 设置财付通appid: 财付通app注册时,由财付通分配
$reqHandler->setAppid($appid);
// 设置商户系统订单号:财付通APP系统内部的订单号,32个字符内、可包含字母,确保在财付通APP系统唯一
$reqHandler->setParameter("out_trade_no", $newid);
// 设置订单总金额,单位为分
$reqHandler->setParameter("total_fee", $totalcost);
// 设置通知url:接收财付通后台通知的URL,用户在财付通完成支付后,财付通会回调此URL,向财付通APP反馈支付结果。
// 此URL可能会被多次回调,请正确处理,避免业务逻辑被多次触发。需给绝对路径,例如:http://wap.isv.com/notify.asp
$reqHandler->setParameter("notify_url", $notify_url);
// 设置返回url:用户完成支付后跳转的URL,财付通APP应在此页面上给出提示信息,引导用户完成支付后的操作。
コード例 #5
0
 /**
  * hpp支付请求
  * @param $payRequest
  * @param int $timeOut
  */
 public static function startPay(PayRequest $payRequest, $timeOut = 60)
 {
     $payRequest->doValidate();
     return self::makeHppRequest(Config::URL_OF_PAY, $payRequest, $timeOut);
 }