Exemple #1
0
<?php

/* 
SimplePay API PHP example (for PHP 5)
https://simplepay.pro/
*/
require_once 'SimplePay.class.php';
$new_payment = new SimplePay_Payment();
// Новый экземпляр платежа
$new_payment->order_id = 300;
// номер заказа
$new_payment->amount = 500;
// сумма
$new_payment->description = 'Описание заказа';
$simplepay = new SimplePay();
// 1. Обычный платеж с передачей параметров в браузере пользователя
$simplepay->init_payment($new_payment);
// 2. Прямое взаимодействие - вернет ссылку для оплаты и описание параметров в виде XML или JSON
//$direct_answer = $simplepay->init_payment_direct($new_payment);
// Переадресация плательщика
//header("location: ".$direct_answer['sp_redirect_url']);
/* вернет массив типа
(
    [sp_salt] => 872014043
    [sp_status] => ok
    [sp_redirect_url_type] => need data
    [sp_redirect_url] => https://secure.simplepay.pro/payment_page.php?id=e96081c978845e3410d1a9ebf1c8c4ef
    [sp_sig] => 09a1505a52db8d5d9c14ab298df4a120
)
*/
// 3. проведение платежа по рекурентному профилю
Exemple #2
0
<?php

/* 
SimplePay API PHP example (for PHP 5)
https://simplepay.pro/
*/
//
// Это обработчик Result для Вашего платежа
// Перепишите методы process_success() и process_fail() в SimplePay.class.php
//
require_once "SimplePay.class.php";
$simplepay = new SimplePay();
$simplepay->process_request_result();
<?php

include dirname(__FILE__) . '/../../config/config.inc.php';
include dirname(__FILE__) . '/../../init.php';
include dirname(__FILE__) . '/simplepay.php';
$simplepay = new SimplePay();
$cart = Context::getContext()->cart;
$customer = new Customer($cart->id_customer);
/* Verify SimplePay transaction */
$private_key = Configuration::get('SIMPLEPAY_LIVE_PRIVATE_KEY');
if ((int) Configuration::get('SIMPLEPAY_TEST_MODE')) {
    $private_key = Configuration::get('SIMPLEPAY_TEST_PRIVATE_KEY');
}
$data = array('token' => $_POST['token']);
$data_string = json_encode($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://checkout.simplepay.ng/v1/payments/verify/');
curl_setopt($ch, CURLOPT_USERPWD, $private_key . ':');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Content-Length: ' . strlen($data_string)));
$curl_response = curl_exec($ch);
$curl_response = preg_split("/\r\n\r\n/", $curl_response);
$response_content = $curl_response[1];
$json_response = json_decode(chop($response_content), TRUE);
$response_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($response_code == '200') {