php-webmoney

0
README.md

WebMoney API PHP Library

Packagist Dependency Status Packagist Packagist

Get transparent object-oriented interaction with WebMoney API.

If you just need to sign your requests to the API, use WebMoney Signer, a native PHP implementation of the WMSigner authentication module.

XML-interfaces supported

  • X1: sending invoice from merchant to customer
  • X2: transferring funds from one purse to another
  • X3: transactions history, checking transactions status
  • X4: issued invoices history, verifying whether the invoices were paid
  • X5: completing a code-protected transaction
  • X6: sending message to any WM-identifier via internal mail
  • X8: retrieving information about purse ownership, searching for system user by his/her identifier or purse
  • X9: retrieving information about purse balance
  • X11: retrieving information from client’s passport by WM-identifier
  • X13: recalling incomplete protected transaction
  • X14: fee-free refund
  • X15: trust management
  • X17: operations with arbitration contracts
  • X18: getting transaction details via merchant.webmoney
  • X19: verifying personal information for the owner of a WM identifier
  • X21: setting trust for merchant payments by SMS
  • X22: receiving the ticket of prerequest payment form at merchant.webmoney
  • X23: rejection of received invoices or cancellation of issued invoices

XML-interfaces to top-up WMZ and WME

  • ATM1: preliminary request on the payment possibility
  • ATM2: payment request
  • WMC1: preliminary request on the payment possibility (WebMoney.Check)
  • WMC2: payment request (WebMoney.Check)
  • WMC3: payments log (WebMoney.Check)

Megastock interfaces supported

Requirements

The library requires PHP 5.3 compiled with cURL extension (but you can override cURL dependencies).

Installation

  1. Install Composer:

    curl -sS https://getcomposer.org/installer | php
  2. Add the php-webmoney dependency:

    php composer.phar require baibaratsky/php-webmoney:0.18.*

Usage

There are more usage examples in the project wiki.

Authentication with a Light certificate

In case of authentication with a Light certificate, pass

Request::AUTH_LIGHT
to the request constructor and use
lightAuth()
instead of
sign()
.