Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Jul 18, 2021. It is now read-only.
/ Robokassa-PHP-Class Public archive

[Out of date] 🛒 Robokassa - PHP Class, also support recurrent payments for Robokassa

License

Notifications You must be signed in to change notification settings

neatek/Robokassa-PHP-Class

Repository files navigation

Very simple and light PHP Class for working with Robokassa.ru Author web-site - https://neatek.ru/

HitCount

Robokassa.class.php (Once payment)

Function What it does
$robo = new Robokassa(array("MerchLogin", array('pass1','pass2','pass3','pass4'), 'test'=>true, 'debug'=>true)) Create class
$robo->doRedirect($sum = '100', $desc = 'Text', $invid = '0', $shp_params = array(), $IncCurrLabel = 'ru') Redirect to do payment on Robokassa web-site, do not use 'shp_' into $shp_params
$robo->isSuccess() Check if payment successful - params : no params.
$robo->get_shp_params() You can get all shp_ params without = '_shp' - params: no params.
  1. Create class
require_once 'Robokassa.class.php';
$params = array(
	"MerchLogin",
	array(
		"Pass1", 
		"Pass2", 
		"Pass3", 
		"Pass4"
	), 
	'test' => true, // enable test or not
	'debug' => true // logging into debug.log file
);
$robo = new Robokassa($params);
  1. Redirect to do payment
require_once 'Robokassa.class.php';
$robo->doRedirect(
	"100", // outsum
	"Description for payment...", // payment desc
	1, // invoice_id
	array(
		'param'=>'helloworld' // without shp_
		// you can get this into ResultURL $robo->get_shp_params();
		'email'=>'email_from_form' 
	), 
	'ru' // IncCurrLabel
);
  1. Check payment
require_once 'Robokassa.class.php';
// ResultURL
if($robo->isSuccess()) {
	// we got shp_ params without shp_
	$shp_params = $robo->get_shp_params();
	// your code
}

Robokassa.recurrent.class.php (Recurrent payment)

See: ./examples_recurrent, create database and run SQL from readme.txt file, also edit database config in Robokassa.recurrent.class.php

Function What it does
$robo = new Robokassa(array("MerchLogin", array('pass1','pass2','pass3','pass4'), 'test'=>true, 'debug'=>true)) Create class
$robo->doRecurrentRedirect($sum = '100', $desc = 'Text', $invid = '0', $shp_params = array(), $IncCurrLabel = 'ru') Redirect to do payment on Robokassa web-site, with recurrent support, do not use 'shp_' into $shp_params
$robo->isSuccess() Check if payment successful - params : no params.
$robo->get_shp_params() You can get all shp_ params into ResultURL without = '_shp' - params: no params.
$robo->doRecurrents() You can get recurrent payments via this function by Crontab */1 every minute
$recurrent=$robo->getRecurrent($_GET['invid']) You can get recurrent info about payment
$robo->cancelRecurrent($invid) Cancel recurrent payment for Invid
date_default_timezone_set('Europe/Moscow');
require_once 'Robokassa.class.php';
require_once 'Robokassa.recurrent.class.php'; // Extends Robokassa.class.php
require_once 'Robokassa.params.php';
$recurrent = 1; // you can handle it from $_GET or $_POST
$shp_params = array(
	'email'=> trim($_REQUEST['nd_email']), // email from $_GET or $_POST
	'recurrent' => $recurrent
);
$robo->doRecurrentRedirect(
	$_REQUEST['nd_sum'], // data from your form
	"Описание платежа", 
	rand(0,99), // invid will be automatic from Database
	$shp_params,
	'ru',
	$recurrent
);

ResultURL - check if payment success

require_once 'Robokassa.params.php';
if($robo->isSuccess()) {
	$shp_params = $robo->get_shp_params();
	$robo->setPaymentSuccess($_REQUEST['InvId']);
	$inv_id = (int) $_REQUEST['InvId'];
	// success payment once & regular
	if(isset($shp_params['recurrent']) && !empty($shp_params['recurrent'])) {
		$v = (int) $shp_params['recurrent'];
		if($v > 0) {
			// if first recurrent payment
		}
	}
	echo "OK$inv_id\n";
}
else {
	echo "bad sign\n";
	exit();
}

Crontab for getting automatic payments

require_once 'Robokassa.params.php';
$robo->doRecurrents();
echo 'cronjob finished.';

Support developer

Если я помог вам и вам это понравилось, можете немного вознаградить меня :)

paypal

About

[Out of date] 🛒 Robokassa - PHP Class, also support recurrent payments for Robokassa

Topics

Resources

License

Stars

Watchers

Forks

Languages

AltStyle によって変換されたページ (->オリジナル) /