最近では、ウェブマネーがインターネットを介したキャッシュレス支払いのための最も便利で手頃な手段の一つになるほど十分な人気を得ていることは秘密ではありません。 モバイルの残高を補充し、ウェブストアで商品を購入するために支払う-これはすべてウェブマネーを使用して行うことができます。
電子通貨ウェブマネーを使用して、ウェブサイト上の商品やサービスの支払いを受け取る方法をいくつかご紹介します。 ちなみに、これは一見すると難しいかもしれません!
1.マーチャントWebMoney転送
これは、支払いを自動化するために開発者から提供されたツールです。 Merchant WebMoney Transferは、WebMoneyシステムとやり取りするためのインターフェースのセットです。 以下に簡単に説明します。
1.1 Web Merchant Interfaceは、ユーザーとそのデータをWebmoney Webサイトに送信するだけの特別に設計されたフォームに基づいて、WebMoneyの支払いを整理する最も簡単な方法です。
この方法で支払いを受け取るために必要なのは、ウェブサイトに3つのページを配置することです-支払い用のフォームがあるページ、成功した支払い用のページ、失敗した支払い用のページ。 次に、支払いを処理するためにサーバー部分を設定し、キャッシュフローをポケットに注ぎます=)このインターフェイスの詳細な説明は、 https : //merchant.webmoney.ru/conf/guide_simple.aspで入手できます 。
1.2クリック&バイマーチャントインターフェース -このインターフェースにより、バイヤーはWM Keeperを使用してワンクリックでウェブマネーを支払うことができます。 一番下の行は、買い手が(wmk:paylink ...という形式の)特別なwebmoneyリンクをクリックし、すでにWM Keeperで支払いプロセス全体が行われていることです。 このインターフェイスの詳細な説明は、 https://merchant.webmoney.ru/conf/guide_pci.aspから入手できます 。
1.3 WMオートメーションインターフェース -最もおいしいもの=)これは、WM Keeper Classicキー用の特別な認証モジュールを使用したXML形式のhttpsを介したwebmoney Webサーバーへのリクエストに基づくXMLインターフェースのセット(15個、X1からX15)
または標準のx.509証明書(WM Keeper Light証明書)。 これらのインターフェースを使用すると、ウォレットでさまざまなアクションを実行できます。例:
-バイヤーに請求(X1)
-履歴の取得と請求書の支払いの確認(X4)
-バランスを取る(X9)
そしてもっと面白いこと。 実際、このインターフェースについて、またはむしろ、このインターフェースのセットについて、さらに詳しく説明したいと思います。
2.XML-プロフェッショナルの選択!
2.1問題の声明 -インシデントを回避するために、自動モードで、お金の動きを記録しながら、サイトでWMの受信と発行を実装する必要がありました。 完全な自動化を保証するには、他の種類のインターフェイスでは適切な機能が提供されないため、WM Automation Interfaceを使用する必要があります。
2.2ツール -自転車は発明しませんが、WMXIと呼ばれる既製のライブラリを使用します。 彼女はmy-tools.net/wmxiに住んでいます 。 サーバーが正常に機能するには、BCMathまたはGMP、MHashまたはHash、CURL、MBString、Enabled XMLの要件を満たす必要があります。 ホスティングがこれらの条件を満たしているかどうかを確認するには、WMXIスイートのcheck.phpユーティリティを使用できます。
2.3アカウントの声明。 はじめに、最も単純なタスクを実装しましょう。ストアからクライアントへの請求書です。 これらの目的のために、X1インターフェースが提供されており、これを使用します。 ただし、請求書が支払われることを保証しないことを忘れないでください=)したがって、後で請求書を確認する必要があります。
コード自体は次のとおりです。
<?php
//
include_once("wmxi/wmsigner.php");
include_once("wmxi/wmxi.php");
include_once("wmxi/wmxiparser.php");
// WMXI. :
// ,
//, . UTF-8
$wmxi = new WMXI(realpath("../WebMoneyCA.crt"), DOC_ENCODING);
//
// Webmoney Keeper Classic. :
//WMID -
//
// 164
//
$wmxi->Classic("000000000000", "password", "../keys/000000000000.kwm");
//
$parser = new WMXIParser();
//,
$response = $wmxi->X1(
$wm_transfer, // ; .
$_POST[wmid], //wmid
"Z999988887777", //
floatval($_POST[money]), //
" MYSITE.RU", // 0 255 ;
"http://mysite.ru", // 0 255 ;
0, // 0 255; 0 -
1 // 0 255; 0 -
);
// . :
//XML-
//, . UTF-8
$structure = $parser->Parse($response, DOC_ENCODING);
// .
// , =)
$transformed = $parser->Reindex($structure, true);
// == 0 ( )
if($structure["w3s.response"]["retval"] == 0)
{
$transformed["w3s.response"]["reqn"]; // WM
$transformed["w3s.response"]["invoice"]["orderid"]; // ,
echo " !";
}
else echo $structure["w3s.response"]["retdesc"]; // , .
?>
それだけです=)。 アカウントが発行されましたが、お金を待つだけです。 外観だけが複雑に思えますが、実際、すべてが非常にシンプルです!
2.4アカウントのステータスを確認します。 アカウントは発行されましたが、支払い済みかどうかを確認する方法。 ここで、X4インターフェースが役立ちます。 これにより、ウォレットが発行した請求書の履歴を取得したり、請求書の支払いを確認したりできます。これは一般的に必要なものです。 その方法を見てみましょう:
<?php
//
include_once("wmxi/wmsigner.php");
include_once("wmxi/wmxi.php");
include_once("wmxi/wmxiparser.php");
// WMXI. :
// ,
//, . UTF-8
$wmxi = new WMXI(realpath("../WebMoneyCA.crt"), DOC_ENCODING);
//
// Webmoney Keeper Classic. :
//WMID -
//
// 164
//
$wmxi->Classic("000000000000", "password", "../keys/000000000000.kwm");
//
$parser = new WMXIParser();
//,
$response = $wmxi->X4(
"Z999988887777",//
0,// > 0, WM
$wm_transfer,// ;
date("Ymd H:i:s", time()-86400),//
date("Ymd H:i:s", time())//
);
// . :
//XML-
//, . UTF-8
$structure = $parser->Parse($response, DOC_ENCODING);
// .
// , =)
$transformed = $parser->Reindex($structure, true);
// == 0 ( )
if($structure["w3s.response"]["retval"] == 0)
{
$state = $transformed["w3s.response"]["outinvoices"]["outinvoice"]["state"];
switch($state)
{
case 0:
echo " ";
break;
case 1:
echo " ";
break;
case 2:
echo " ";
break;
case 3:
echo "";
break;
}
else echo $structure["w3s.response"]["retdesc"]; // , .
?>
以上です。 データベースに会計明細書と請求書の支払いを実装するだけで、完全なウェブストアの準備ができました!
3.これ。 これがプログラミングに関する私の最初の記事であるという事実にもかかわらず、WMアカウントでの自動作業の原則をアクセシブルな方法で説明できたことを願っています。 ご質問に喜んでお答えします。喜んでお答えします!