亚洲国产精品成人无码区,公天天吃我奶躁我的比视频,亚洲国产欧美视频亚洲国产精品一区二区成人片不卡,天天躁日日躁狠狠躁视频2021,起视碰看97视频在线少妇久久久久久人妻无码, 芒果乱码一线二线三线新区 ,亚洲熟妇无码AⅤ不卡在线播放,人妻少妇乱子伦无码专区

400-800-9385
網(wǎng)站建設資訊詳細

商城網(wǎng)站對接paypal支付接口

發(fā)表日期:2023-07-18 17:18:05   作者來源:劉紅旺   瀏覽:1712   標簽:商城網(wǎng)站建設    
第一步申請賬號:

1.注冊paypal開發(fā)者賬號  
 

paypal支付


 
2.創(chuàng)建自己的應用
live:是上線模式
sendbox:沙盒模式

創(chuàng)建應用
 

paypal沙盒
 

 

 

 


 
3. 獲取client id和 client secret

 獲取密鑰
 
4.創(chuàng)建支付訂單
 
初始化參數(shù)
   public function _initialize()
    {
        parent::_initialize();
        $PaymentModel = new PaymentModel();
       
        $config = $PaymentModel->getCacheClass('paypal');
        //dump($config);exit;
        if(empty($config)) {
            echo '支付參數(shù)未配置!';
            exit();
        } else {
            $this->clientId =   $config['app_id'];
            $this->clientSecret = $config['app_key'];
        }
       
        $request = Request::instance();
        $base_url = $request->domain();
 
        $this->accept_url = $base_url.'/paypal/callback';//回調地址
     
       
        $this->PayPal = new ApiContext(
            new OAuthTokenCredential(
                $this->clientId,
                $this->clientSecret
            )
        );
       // 如果是沙盒測試環(huán)境不設置,請注釋掉
        $this->PayPal->setConfig(
            array(
              'mode' => 'live',
            )
        );
    }
 
生成訂單并且跳轉到paypal
 public function pay($product, $price, $shipping = 0, $description,$currency)
    {
        $paypal = $this->PayPal;
 
        $total = $price + $shipping;//總價
 
        $payer = new Payer();
        $payer->setPaymentMethod('paypal');
 
        $item = new Item();
        $item->setName($product)->setCurrency($currency)->setQuantity(1)->setPrice($price);
 
        $itemList = new ItemList();
        $itemList->setItems([$item]);
 
        $details = new Details();
        $details->setShipping($shipping)->setSubtotal($price);
 
        $amount = new Amount();
        $amount->setCurrency($currency)->setTotal($total)->setDetails($details);
 
        $transaction = new Transaction();
        $transaction->setAmount($amount)->setItemList($itemList)->setDescription($description)->setInvoiceNumber(uniqid());
 
        $redirectUrls = new RedirectUrls();
        // $redirectUrls->setReturnUrl(self::accept_url . '?success=true')->setCancelUrl(self::accept_url . '/?success=false');
        $redirectUrls->setReturnUrl($this->accept_url .'?success=true')->setCancelUrl($this->accept_url .'?success=false');
 
        $payment = new Payment();
        $payment->setIntent('sale')->setPayer($payer)->setRedirectUrls($redirectUrls)->setTransactions([$transaction]);
        try {
            $payment->create($paypal);
        } catch (PayPalConnectionException $e) {
            echo $e->getData();
            die();
        }
 
        $approvalUrl = $payment->getApprovalLink();
        //echo $approvalUrl;
        $this->redirect($approvalUrl);
        //header("Location:{$approvalUrl}");
    }
 
 
 /**
     * 回調
     */
    public function callback()
    {
        // 修改訂單狀態(tài)
        $success = trim($_GET['success']);
 
        if ($success == 'false' && !isset($_GET['paymentId']) && !isset($_GET['PayerID'])) {
           $this->error('Cancal Pay!!', 'member/order');
        }
 
        $paymentId = trim($_GET['paymentId']);
        $PayerID = trim($_GET['PayerID']);
 
        if (!isset($success, $paymentId, $PayerID)) {
            echo 'Failure to pay。';
            exit();
        }
 
        if ((bool)$_GET['success'] === 'false') {
            echo 'Failure to pay,payment ID【' . $paymentId . '】,Payer ID【' . $PayerID . '】';
            exit();
        }
 
        $payment = Payment::get($paymentId, $this->PayPal);
 
        $execute = new PaymentExecution();
 
        $execute->setPayerId($PayerID);
 
        try {
            $data = $payment->execute($execute, $this->PayPal);
           
            $data_arr = $data->toArray();
           
         
            $order_no = $data_arr['transactions'][0]['description'];
            $total_money = $data_arr['transactions'][0]['amount']['total'];
            // 實例化訂單模型
            $model = $this->getOrderModel($order_no, OrderTypeEnum::MASTER);
            // 訂單信息
            $order = $model->getOrderInfo();
            if(empty($order)){
               echo 'Order not exist';
            }
            $update_data['transaction_id'] = $paymentId;
           
           
            $status = $model->onPaySuccess(PayTypeEnum::PAYPAL, $update_data);
            if ($status == false) {
                echo $model->getError();
            }
        } catch (Exception $e) {
            $this->error('Pay Error!', 'member/order');
           
            //echo $e . ',支付失敗,支付ID【' . $paymentId . '】,支付人ID【' . $PayerID . '】';
            //exit();
        }
}
       
       
 
 
跳轉成功后,登入選擇支付卡號就可以了

商城支付
 
如沒特殊注明,文章均為方維網(wǎng)絡原創(chuàng),轉載請注明來自http://m.oulysa.com/news/6831.html
高清h成人性色情XXⅩXXA片| 少妇被躁爽到高潮无码人狍大战| 精品国产乱码久久久久久蜜桃免费| 九九精品免视频国产成人| 欧美激情精品久久| 无码精品久久久久久人妻中字| 2022国产成人精品视频人| 偷拍与自偷拍亚洲精品农村的| 日本精品精品一二区一本到| 熟妇人妻无乱码中文字幕真矢织江| 欧美日韩国产中文精品字幕自在自线| 丁香五月国产精品| 成人精品视频一区二区三区不卡| 69综合精品国产二区无码| 精品视频一区二区三三区四区| 韩国无码视频 AV一区二区三区| 亚洲av之男人的天堂网站 720P | 亚洲AV成人片无码网站网超碰| 欧美交A欧美精品喷水| 中文字幕一区二区三区| 国产亚洲色婷婷久久99精品| 久久久午夜福利精品一区二区三区| 国产免费午夜福利蜜芽无码| 国产国产免费福利在线视频| 2022国产男人亚洲欧美天堂| 自拍 偷拍 亚洲 欧美 另类| 精品视频一区二区三三区四区| 最新精品国偷自产在线美女足| 国产日韩欧美一区二区久久精品| 国产AV一区二区三区天堂综合网| 日韩一区三区视频| 精品国产免费一区二区| 亚洲中文久久精品无码| 99久久无码精品一区二区毛片| 99久久精品久久久久久水蜜桃| 无码人妻久久一区二区三区不卡| 国产精品91在线播放久| 本高清一级婬片A级中文字幕| 亚洲成在人线a免费日本免费一区香蕉视频| 丰满人妻跪趴高撅肥臀| 一级毛片久久久久久久女人18|