1. 2xB27.07.2024 в 19:21от
  2. Adark27.07.2024 в 18:16от
Загрузка...

Помощь с оплатой на javascript (telegram bot)

Тема в разделе "Web-программирование", создана пользователем Flowner, 18.03.2018.

  1. Flowner

    Фловнер довнер
    Flowner

    Статус:
    Оффлайн
    Регистрация:
    23.02.18
    Сообщения:
    215
    Репутация:
    211 +/-
    Привет. Я тут решил сделать бота с автоматическими продажами в телеграмм. Но тут я столкнулся с проблемой, как сделать оплату через киви? Максимум, что я смог сделать, то это генерация комментария и номера заказа. А как сделать проверку на наличие платежа? Кто поможет, того 'деньгой' не обижу) Просто пишите свой телеграмм ниже, сам отпишу

    P.S. Если шарите, как подключить фри-кассу к js, то вам тоже по пути)
    Посмотреть вложение 22032
     
  2. GiveMeABreak

    GiveMeABreak

    Статус:
    Оффлайн
    Регистрация:
    02.04.18
    Сообщения:
    4
    Репутация:
    0 +/-
    Недавно QIWI сделал халявное API без доп. процентов: https://qiwi.com/api. Сильно не ковырял, но думаю, в принципе, это реально. Там есть методы для получения истории платежей, от этого и отталкивайтесь. Код для работы с QIWI API на PHP
    Код:
    class QiwiApi {
        private $_phone;
        private $_token;
        private $_url;
    
        function __construct($phone, $token) {
            $this->_phone = $phone;
            $this->_token = $token;
            $this->_url   = 'https://edge.qiwi.com/';
        }
        private function sendRequest($method, array $content = [], $post = false) {
            $ch = curl_init();
    
            if ($post) {
                curl_setopt($ch, CURLOPT_URL, $this->_url . $method);
                curl_setopt($ch, CURLOPT_POST, 1);
                curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($content));
    
            } else {
                curl_setopt($ch, CURLOPT_URL, $this->_url . $method . '/?' . http_build_query($content));
            }
           
            //curl_setopt($ch, CURLOPT_PROXY, 'localhost:8888');
            curl_setopt($ch, CURLOPT_HTTPHEADER, [
                'Accept: application/json',
                'Content-Type: application/json',
                'Authorization: Bearer ' . $this->_token,
                'Host: edge.qiwi.com'
            ]); 
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            $result = curl_exec($ch);
            curl_close($ch);
            return json_decode($result, 1);
        }
        public function getAccount(Array $params = []) {
            return $this->sendRequest('person-profile/v1/profile/current', $params);
        }
        public function getPaymentsHistory(Array $params = []) {
            return $this->sendRequest('payment-history/v1/persons/' . $this->_phone . '/payments', $params);
        }
        public function getPaymentsStats(Array $params = []) {
            return $this->sendRequest('payment-history/v1/persons/' . $this->_phone . '/payments/total', $params);
        }
        public function getBalance() {
            return $this->sendRequest('funding-sources/v1/accounts/current')['accounts'];
        }
        public function getTax($providerId) {
            return $this->sendRequest('sinap/providers/'. $providerId .'/form');
        }  
        public function sendMoneyToQiwi(Array $params = []) {
            return $this->sendRequest('sinap/api/v2/terms/99/payments', $params, 1);
        }
        public function sendMoneyToProvider($providerId, Array $params = []) {
            return $this->sendRequest('sinap/api/v2/terms/'. $providerId .'/payments', $params, 1);
        }
       
        public function checkCard($card)
        {
            $ch = curl_init();
    
            curl_setopt($ch, CURLOPT_URL, 'https://qiwi.com/card/detect.action');
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_POSTFIELDS, 'cardNumber='.$card);
    
            curl_setopt($ch, CURLOPT_HTTPHEADER, [
                'Accept: application/json',
                'Content-Type: application/x-www-form-urlencoded'
            ]); 
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            $result = curl_exec($ch);
            curl_close($ch);
            return json_decode($result, 1);
        }
    }