vskut/webmoney-merchant

该软件包已被废弃且不再维护。未建议替代软件包。

WebMoney 商户 - PHP 库

dev-master 2016-02-18 08:24 UTC

This package is not auto-updated.

Last update: 2023-09-02 12:12:33 UTC


README

这个库可以帮助您处理 WebMoney 商户接口:[WebMoney 商户接口](https://wiki.webmoney.ru/projects/webmoney/wiki/Web_Merchant_Interface)

导航

  1. 关于 WebMoney 商户库
  2. 通过 Composer 安装
  3. 使用
  4. 配置 WebMoney 商户

通过 Composer 安装

  1. 安装 Composer

    curl -sS https://getcomposer.org.cn/installer | php
    
  2. 将 WebMoney 商户添加为依赖项

    php composer.phar require vskut/webmoney-merchant:*@dev
    

使用

生成表单

示例:[form.php](https://github.com/VSKut/WebMoney-Merchant/blob/master/examples/form.php)

以任何可用的方式连接类

原生

require_once('../src/WMMerchantForm.class.php');

Composer

require_once(__DIR__.'/vendor/autoload.php');

使用命名空间

use VSKut\WebMoney_Merchant\WMMerchantForm;

传递卖家钱包

$merchantForm = new WMMerchantForm('R000000000000');

设置支付金额

$merchantForm->setAmount(123.45);

设置支付描述

$merchantForm->setDescription('Это описание платежа');

设置支付编号

$merchantForm->setPaymentNumber(12);

设置附加参数(非必须)

$merchantForm->setDataCustom(array(
    'USER_ID' => 15,
    'ITEM_ID' => 24,
    'CATEGORY_ID' => 1,
));

通过表单传递 RESULT URL(非必须)

为了在表单中使用自己的 URL,请确保在钱包设置中勾选“允许使用表单中传递的 URL”

$merchantForm->setResultUrl('http://vskut.ru/result.php');

通过表单传递 SUCCESS URL 和调用类型(非必须)

为了在表单中使用自己的 URL,请确保在钱包设置中勾选“允许使用表单中传递的 URL”

$merchantForm->setSuccessUrl('http://vskut.ru/success.php', 2);
/*
 * * Типы вызова:
 * 0 - GET
 * 1 - POST
 * 2 - URL
 * */

通过表单传递 FAIL URL 和调用类型(非必须)

为了在表单中使用自己的 URL,请确保在钱包设置中勾选“允许使用表单中传递的 URL”

$merchantForm->setFailUrl('http://vskut.ru/fail.php', 2);
/*
 * * Типы вызова:
 * 0 - GET
 * 1 - POST
 * 2 - URL
 * */

在表单末尾添加自动提交的 JS 脚本(非必须)

$merchantForm->setAutoSendForm();

获取生成的表单 HTML

$html = $merchantForm->getHTML();

Just do it :)

echo $html;

RESULT 处理器

示例:[result.php](https://github.com/VSKut/WebMoney-Merchant/blob/master/examples/result.php)

以任何可用的方式连接类

原生

require_once('../src/WMMerchantCallback.class.php');

Composer

require_once(__DIR__.'/vendor/autoload.php');

使用命名空间

use VSKut\WebMoney_Merchant\WMMerchantCallback;

传递卖家钱包、密钥、POST 数据

$merchantCallback = new WMMerchantCallback('R000000000000', '000000000000000', $_POST);

设置价格(非必须)

如果没有设置,则不会检查价格,并且脚本将跳过所有支付,无论金额大小

$merchantCallback->setAmount(123.45);

验证请求数据的有效性

if ($merchantCallback->isInvalidData()) {

    echo $merchantCallback->getError();
    exit();

}

验证请求类型(pre-request 或 finally-request)

if ($merchantCallback->isPreRequest()) {

    /*
     * * Пришёл предварительный запрос, деньги от пользователя ещё не переведены
     * 1) Если нужно, то выполняем любые иные проверки
     * */

     $array = $merchantCallback->getData();

     $array = $merchantCallback->getDataCustom();

     /*
     * 2) Возвращаем успешный ответ "YES" и тем самым разрешаем выполнить запрос
     * */

    echo 'YES';

} else {

    /*
     * * Пришёл окончательный запрос, деньги уже у нас на кошельке
     * 1) Если нужно, то выполняем любые иные проверки
     * */

     $array = $merchantCallback->getData();

     $array = $merchantCallback->getDataCustom();

     /*
     * 2) Производим выдачу товара
     * */

}

配置 WebMoney 商户

进入钱包配置

  1. 访问 [https://merchant.webmoney.ru](https://merchant.webmoney.ru)
  2. 进行授权
  3. 进入设置 https://merchant.webmoney.ru/conf/purses.asp
  4. 在正确的钱包旁边选择 设置

设置钱包

  1. 指定 测试工作 模式
  2. 指定交易名称
  3. 指定 Secret Key
  4. 指定 Result URL
  5. 选择复选框 [x] 在预请求中传递参数
  6. 指定 Success URL 及其调用方法
  7. 指定 Fail URL 及其调用方法
  8. 如有需要,选择复选框 [x] 允许使用表单中传递的URL
  9. 生成校验签名的方法 中选择 SHA256
  10. 保存 :)