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

Эта публикация первая попалась мне в ру_нете по этой, нужной мне теме. И скажу - удовлетворен что набрел именно на нее. Хотя нужно бы развить этот вопрос. Для посетителей этого сайта скажу - актуально, рекомендую!!!!

nobody click here