YAPC::Russia 2009 Использование WebMoney в Perl Александр Лурье
Интерфейсы WebMoney
Идентификаторы в WebMoney
Регистрация в WebMoney <ul><li>Регистрация на  www.webmoney.ru </li></ul><ul><li>Браузер генерирует ключевую пару </li></u...
Читаем спецификацию XML-интерфейса http://www.webmoney.ru/rus/developers/interfaces/xml/index.shtml <w3s.request> <reqn></...
Можно сделать вручную <ul><li>XML::LibXML </li></ul><ul><li>LWP </li></ul><ul><li>Не забыть про сертификат WebMoney CA </l...
Есть способ проще use Business::WebMoney;
Инициализация use Business::WebMoney; my $wm = Business::WebMoney->new( p12_file => '/path/to/cert.p12', p12_pass => 'secr...
Посмотрим остатки денег my $res = $wm-> get_balance ( reqn => 1, wmid => '123456789012', ) or die $wm->errstr;
Остатки денег [ { amount => '123.45', pursename => 'R987654321098' desc => 'Моя копилка', id => '16081390', }, ... ] Уау! ...
Выставим счёт на оплату my $res = $wm-> invoice ( reqn => $reqn, orderid => 1242447111, customerwmid => '542532589883', st...
Подтверждение от сервера { 'datecrt' => '20090516 08:11:54', 'period' => '0', 'dateupd' => '20090516 08:11:54', 'ts' => '8...
 
Проверим оплату my $res = $wm-> get_out_invoices ( reqn => $reqn, purse => 'R369676127866', datestart => '20090516 08:00:0...
Возвращается список счетов [ { 'datecrt' => '20090516 08:11:54', 'period' => '0', 'wmtranid' => '0', 'dateupd' => '2009051...
Состояния оплаты счета 0 — не оплачен 1 — оплачен с протекцией 2 — оплачен полностью 3 — отклонён покупателем
Как принимать платежи
Как перевести деньги my $res = $wm-> transfer ( reqn => $reqn, tranid => $tranid, pursesrc => 'R369676127866', pursedest =...
Как правильно переводить деньги
Безопасность <ul><li>Аутентификация сервера WebMoney </li></ul><ul><li>Работа по доверенности </li></ul>
Получение доступа к API <ul><li>Часть функций доступна всем </li></ul><ul><li>Часть — после получения аттестата магазина <...
Если пользовались пожалуйста, напишите свой отзыв: Александр Лурье< [email_address] > (и если понравилось, и если не понра...
Upcoming SlideShare
Loading in...5
×

Использование WebMoney в Perl‎

1,312

Published on

YAPC::Russia 2009 "May Perl 2"

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,312
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
14
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Использование WebMoney в Perl‎

  1. 1. YAPC::Russia 2009 Использование WebMoney в Perl Александр Лурье
  2. 2. Интерфейсы WebMoney
  3. 3. Идентификаторы в WebMoney
  4. 4. Регистрация в WebMoney <ul><li>Регистрация на www.webmoney.ru </li></ul><ul><li>Браузер генерирует ключевую пару </li></ul><ul><li>WebMoney выпускает сертификат на ваш открытый ключ </li></ul><ul><li>Сертификат экспортируется из браузера в файл p12 </li></ul>
  5. 5. Читаем спецификацию XML-интерфейса http://www.webmoney.ru/rus/developers/interfaces/xml/index.shtml <w3s.request> <reqn></reqn> <wmid></wmid> <sign></sign> <invoice> <orderid></orderid> <customerwmid></customerwmid> <storepurse></storepurse> <amount></amount> <desc></desc> <address></address> <period></period> <expiration></expiration> </invoice> </w3s.request> <w3s.response> <reqn></reqn> <retval></retval> <retdesc></retdesc> <invoice id=&quot;n1&quot; ts=&quot;n2&quot;> <orderid></orderid> <customerwmid></customerwmid> <storepurse></storepurse> <amount></amount> <desc></desc> <address></address> <period></period> <expiration></expiration> <state>0</state> <datecrt></datecrt> <dateupd></dateupd> </invoice> </w3s.response>
  6. 6. Можно сделать вручную <ul><li>XML::LibXML </li></ul><ul><li>LWP </li></ul><ul><li>Не забыть про сертификат WebMoney CA </li></ul><ul><li>Изучить интерфейсы WebMoney </li></ul>Унылое занятие!
  7. 7. Есть способ проще use Business::WebMoney;
  8. 8. Инициализация use Business::WebMoney; my $wm = Business::WebMoney->new( p12_file => '/path/to/cert.p12', p12_pass => 'secret', );
  9. 9. Посмотрим остатки денег my $res = $wm-> get_balance ( reqn => 1, wmid => '123456789012', ) or die $wm->errstr;
  10. 10. Остатки денег [ { amount => '123.45', pursename => 'R987654321098' desc => 'Моя копилка', id => '16081390', }, ... ] Уау! Это же просто список хешей!
  11. 11. Выставим счёт на оплату my $res = $wm-> invoice ( reqn => $reqn, orderid => 1242447111, customerwmid => '542532589883', storepurse => 'R369676127866', amount => 100, desc => 'Слон в отличном состоянии, пробег 16000 км. С доставкой и растаможкой', ) or die $wm->errstr; Не забудьте про use utf8 !
  12. 12. Подтверждение от сервера { 'datecrt' => '20090516 08:11:54', 'period' => '0', 'dateupd' => '20090516 08:11:54', 'ts' => '83150332', 'storepurse' => 'R369676127866', 'state' => '0', 'orderid' => '1242447111', 'amount' => '100.00', 'customerwmid' => '542532589883', 'desc' => 'Слон в отличном состоянии, пробег 16000 км. С доставкой и растаможкой', 'expiration' => '0', 'id' => ' 83150332 ', 'address' => '' };
  13. 14. Проверим оплату my $res = $wm-> get_out_invoices ( reqn => $reqn, purse => 'R369676127866', datestart => '20090516 08:00:00', datefinish => '20090516 08:20:00', ) or die $wm->errstr;
  14. 15. Возвращается список счетов [ { 'datecrt' => '20090516 08:11:54', 'period' => '0', 'wmtranid' => '0', 'dateupd' => '20090516 08:11:54', 'ts' => '83150332', 'storepurse' => 'R369676127866', 'state' => '0', 'orderid' => '1242447111', 'amount' => '100', 'customerwmid' => '542532589883', 'desc' => 'Слон в отличном состоянии, пробег 16000 км. С доставкой и растаможкой', 'customerpurse' => '', 'expiration' => '0', 'address' => '', 'id' => '83150332' } ];
  15. 16. Состояния оплаты счета 0 — не оплачен 1 — оплачен с протекцией 2 — оплачен полностью 3 — отклонён покупателем
  16. 17. Как принимать платежи
  17. 18. Как перевести деньги my $res = $wm-> transfer ( reqn => $reqn, tranid => $tranid, pursesrc => 'R369676127866', pursedest => 'R736758049958', amount => 100, desc => 'Тестовый перевод', ) or die $wm->errstr;
  18. 19. Как правильно переводить деньги
  19. 20. Безопасность <ul><li>Аутентификация сервера WebMoney </li></ul><ul><li>Работа по доверенности </li></ul>
  20. 21. Получение доступа к API <ul><li>Часть функций доступна всем </li></ul><ul><li>Часть — после получения аттестата магазина </li></ul><ul><li>Часть — по запросу в WebMoney Technical Support </li></ul>
  21. 22. Если пользовались пожалуйста, напишите свой отзыв: Александр Лурье< [email_address] > (и если понравилось, и если не понравилось, и если вопросы возникли)
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×