unalt
11/17/2017 - 8:05 AM

Класс для работы с сбербанк эквайринг rest api php From https://hello-site.ru/share/klass-dlya-raboty-s-sberbank-e/

Класс для работы с сбербанк эквайринг rest api php From https://hello-site.ru/share/klass-dlya-raboty-s-sberbank-e/

<?
class CSberbank{
    private static $login = "login";
    private static $username = "user";
    private static $password = "password";
 
 
    function getOrderStatus( $orderId ) {
        // https:/server/application_context/rest/getOrderStatus.do? orderId=b8d70aa7-bfb3-4f94-b7bb-aec7273e1fce&language=ru&password=password&userName=userName
        $url = "https://3dsec.sberbank.ru/payment/rest/getOrderStatus.do?orderId=".$orderId."&language=ru&password=".$this::$password."&userName=".$this::$username;
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        $response = curl_exec($ch);
        curl_close($ch);
 
        if( $response ){
 
            $response = json_decode($response, true);
 
            if( $response['ErrorMessage'] ){
 
                if( $response['OrderStatus'] == 2 ){
                    return "Спасибо, заказ №".$response['OrderNumber']." оплачен.";
                } else {
                    return "Статус заказа: ".$response['ErrorMessage'];
                }
 
            }
 
        }
        return false;
    }
 
    function registerOrder($total, $order, $returnUrl){
        $url = "https://3dsec.sberbank.ru/payment/rest/register.do?amount=".intval($total)."00&currency=643&language=ru&orderNumber=".$order."&password=".$this::$password."&userName=".$this::$username."&returnUrl=".$returnUrl."&returnUrl=".$returnUrl."&pageView=DESKTOP&sessionTimeoutSecs=1200";
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        $response = curl_exec($ch);
        curl_close($ch);
 
        if( $response ){
 
            $response = json_decode($response, true);
 
            if( $response['orderId'] && $response['formUrl'] ){
                return 'redirect:'.$response['formUrl'];
            }
 
        }
        return false;
    }
 
}