Posted by ionmedia on October 27, 2010 at 12:05pm
3 followers
Jump to:
| Project: | pgapi - Payment Gateway API |
| Version: | 6.x-1.2-beta4 |
| Component: | Documentation |
| Category: | support request |
| Priority: | normal |
| Assigned: | Unassigned |
| Status: | active |
Issue Summary
hello, i understand - this is only API, but how we can use it ? any examples and docs, please
Comments
#1
I don't have documentation yet.
Any help with it is acceptable.
You can check this module http://drupal.org/project/pg_simplepay.
And you can ask questions here) I will do my best to help you.
Gor
#2
Хорошо, Игорь. полагаю русский приемлем ;)
мне необходимо вводить и выводить средства в систему (друпал сайт) из платёжных систем и на кошельки пользователей с внутреннего счёта (используется usepoints термин таксономии, как внутренняя валюта сайта).
итак, я себе представляю это следующим образом: ввод средств предоставляется по созданию пользователем ноды типа счёт (с заранее забитыми в ноду полями тип платежа и размер и т.д.) при нажатии кнопки оплатить (сохранить ноду) вбитые в ноду опции (тип платёжной системы и размер платежа) передаются в pgapi в виде запроса (php сниппетом), а уже pgapi выполняет перевод по вбитым в него параметрам.
по завершению платежа в ноде должно менятся select поле condition, следовательно ключом платежа должен быть уникальный идентификатор платежа (nid счёта)
собственно сам вопрос здесь, это вызов pgapi: как вызвать, передать параметры ?
аналогично пользователем (либо через rules) создаётся нода типа вывод средств, которая переводит средства с внутреннего счёта на кошелёк, указанный пользователем в профиле, но так как на вывод сейчас работает отдельный модуль, хотелось разобраться тут хотя бы с вводом.
для примера приведу документацию похожего модуля, хотелось бы в результате получить что то подобное :)
<?php
----
API:
----
Modules has internal API which can be used to process actions like creating,
enrolling and deleting payments.
---------------
Create payment:
---------------
$result=webmoney_merchant_api('insert', $params);
Passed parameters:
$params=array(
'uid' => $user->uid, // owner of the payment, usually user who created it
'created' => time(), // optional, time of payment creation
'amount' => 12.95, // amount of payment
'currency' => 'USD', // currency id
'memo' => 'Payment to website',
'payee_account' => 'Z111111111111', // optional
);
Returned array:
$result['pid'] // payment_id
$result['uid']
$result['created']
$result['amount']
$result['currency']
$result['memo']
$result['payee_account']
-------------
Load payment:
-------------
$result=webmoney_merchant_api('insert', $pid);
Passed parameters: $pid - payment ID.
Returned array:
$result['pid'] // payment_id
$result['uid']
$result['created']
$result['enrolled'] // time of enrollment (0 if not enrolled yet)
$result['amount']
$result['currency']
$result['memo']
$result['payee_account']
$result['payer_account'] // empty if not enrolled yet
$result['custom_field_you_passed_via_api'] // additional fields are also
returned
---------------
Enroll payment:
---------------
$result=webmoney_merchant_api('enroll', $params);
Passed parameters:
$params=array(
'pid' => $payment_id, // required
'payer_account' => 'Z222222222222', // optional
'time' => time(), // optional
);
Returned value: true - on success, false - on error.
---------------
Delete payment:
---------------
$result=webmoney_merchant_api('delete', $pid);
Passed parameters: $pid - payment ID.
Returned value: true - on success, false - on error.
------
Hooks:
------
Module implements own hooks, which fire on the following actions:
function hook_webmoney_merchant($op, $payment, $params=''){
switch($op){
case 'insert':
// fires BEFORE payment creation
// $payment here is an array with payment info
// hook MUST return passed $payment array with possible changes
return array(
'uid' => $payment['uid'],
'created' => $payment['created'],
'amount' => $payment['amount'],
'currency' => $payment['currency'],
'memo' => $payment['memo'].' add some text, for instance',
'payee_account' => $payment['payee_account'],
);
break;
case 'inserted':
// fires immediately AFTER payment created
// $payment here is payment ID
// $params here could be (or not be) an array with payment info
break;
case 'enrolled':
// fires immediately after payment enrolled
// $payment here is an array with payment info
break;
case 'deleted':
// fires immediately after payment deleted
// $payment here is payment ID
break;
}
}
?>
---------------------
Things to do in code:
---------------------
- webmoney_merchant.module: defined variables at the beginning
- webmoney_merchant.pages.inc: see variable $LMI_MODE and $debug_errors
#3
Здравствуйте.
Попробуйте поставить последний pgapi, и pg_account.
Последний полностью выполняет все то, что вы описали. Единственное НО - это не связано с userpoints.
Тоесть там есть возможность пополнить баланс, вывести деньги с баланса. Оператору сайта в ручную пополнить баланс любому пользователю, или снять с него деньги. У пользователя есть история пополнений и снятий, с коментариями.
А пример как использовать оплату ноды, всетаки посмотрите в pg_simplepay там именно все то, что вы описали - оплата за ноду, и изменение доступа к ноде,е сли оплата есть. Этого вполне должно вам хватить как стартового толчка к решению вашей задачи.
Я надеюсь читать код для вас не проблема?
Если проблема, то вам прийдется найти програмиста который это будет писать и который умеет читать код, так как документации нет, и мне нужна помошь по ее написанию.
Удачи.
С Уважением, Егор
#4
Вник, на стадии настройки и тестирования всё работает хорошо, только вот сейчас проблема:
при удалении кошельков вылетает
Array ( [WMR] => WMR [WMZ] => WMZ )
посмотри пожалуйста, два раза пробовал, одно и то же
#5
Эта публикация первая попалась мне в ру_нете по этой, нужной мне теме. И скажу - удовлетворен что набрел именно на нее. Хотя нужно бы развить этот вопрос. Для посетителей этого сайта скажу - актуально, рекомендую!!!!