web-dev-qa-db-ja.com

PHPのWebアプリケーションにMoneyBookersを統合する方法

私はPHP Webサイトを作成しており、MONEYBOOKERを支払いゲートウェイとして統合する必要があります。

MoneyBookersゲートウェイを自分のサイトに埋め込むのに助けが必要です。私はテストリンク(サンドボックスURL)を使用しているので:

https://www.moneybookers.com/app/test_payment.pl

私が直面している問題は、MONEYBOOKERのテスト中にトランザクションが表示されないことです。

助けてください!

25

私の最近のブログ投稿でこのトピックについて詳しく説明しています:status_url(IPN)を使用してMoneybookers(Skrill)を自動化する方法。 PHPおよびC#のコード例とポイントを示す画像があります:

  1. Moneybookersテストアカウントのサインアップ
  2. 「秘密の言葉」を作成する
  3. 独自の支払いフォームを作成します(Moneybookersのチェックアウトページにロゴを入れます)
  4. Moneybookersの注文を確認する

ここですべての手順を説明することはしません。私の答えを数ページ書いてしまうからです。ただし、このページの現在の回答には問題(SQLインジェクションなど)がたくさんあるので、4番目のトピック(Moneybookersの注文の確認)について説明します。すべてのステップの詳細な説明が必要な場合は、記事を読みます

ウェブサイトの簡単な支払いフォーム

詳しくは 記事 をご覧くださいが、こちらは簡単なお支払いフォームです。太字の値を正しい価格、アプリ名、Moneybookersのメールに置き換えます。


<form action="https://www.moneybookers.com/app/payment.pl" method="post">
  <input type="hidden" name="pay_to_email" value="[email protected]"/>
  <input type="hidden" name="status_url" value="http://example.com/verify.php"/> 
  <input type="hidden" name="language" value="EN"/>
  <input type="hidden" name="amount" value="Total amount (e.g. 39.60)"/>
  <input type="hidden" name="currency" value="Currency code (e.g. USD)"/>
  <input type="hidden" name="detail1_description" value="YourApp"/>
  <input type="hidden" name="detail1_text" value="License"/>
  <input type="submit" value="Pay!"/>
</form>

Moneybookersの注文の確認

ユーザーがソフトウェア、eBook、またはその他のデジタルコンテンツに料金を支払った後、自動的に注文を確認し、注文したものを電子メールアドレスに送信します。この例では、LimeLMを使用したプロダクトキーの作成について触れていますが、実際には何でもできます。

上記のサンプルフォームでは、Moneybookersの注文を確認するスクリプトの場所を設定します。


<input type="hidden" name="status_url" value="http://example.com/verify.php"/> 

スクリプトの関連部分はこれです:


// Validate the Moneybookers signature
$concatFields = $_POST['merchant_id']
    .$_POST['transaction_id']
    .strtoupper(md5('Paste your secret Word here'))
    .$_POST['mb_amount']
    .$_POST['mb_currency']
    .$_POST['status'];

$MBEmail = '[email protected]';

// Ensure the signature is valid, the status code == 2,
// and that the money is going to you
if (strtoupper(md5($concatFields)) == $_POST['md5sig']
    && $_POST['status'] == 2
    && $_POST['pay_to_email'] == $MBEmail)
{
    // Valid transaction.

    //TODO: generate the product keys and
    //      send them to your customer.
}
else
{
    // Invalid transaction. Bail out
    exit;
}

Moneybookersでシークレットワードを設定する方法がわからない場合は、「status_url(IPN ) "の記事。

全額支払いの例

このコードを自分で書くことに熱心でない場合は、LimeLMのお客様向けに完全に作成された支払いフォームを用意しています。 PHP、C#、VB.NET用に作成されており、すべてのお客様(無料ユーザーも含む)は無料です。したがって、ダウンロードしてサイトに統合し、1セントも支払うことなく使用できます。

支払い選択ページ は次のようになります。

enter image description here

36
Wyatt O'Day

次の例のように、MoneyBookersからドキュメントを取得する必要があります。 http://www.moneybookers.com/app/help.pl?s=m_manual マーチャントゲートウェイとテストアカウント用。その後、数回よく読んで、流れを理解してください。次に、そのページのデモセクションに移動して、それを確認します。最後に、コーディングを開始し、テストアカウントを使用してテストを行います。

3
Palantir

SkrillはMoneybookerを使用していません。テストの支払い方法が変更されました。ここに文書化されていますページ#13(2.3.2): https://www.skrill.com/fileadmin/content/pdf/Skrill_Quick_Checkout_Guide.pdf

Skrillが提供する以下のマーチャントテストアカウントを使用します。

enter image description here

C#コード:

string url = "https://pay.skrill.com/?";

// Merchant Details
url += "pay_to_email=" + "[email protected]";
url += "&recipient_description=" + "Your Project Title";
url += "&language=" + "EN";
url += "&transaction_id=" + "Your Transaction ID";
url += "&return_url=" + "Your Return URL After Successful Payment";

// Payment Details
url += "&amount=" + "Your Total Amount";
url += "&currency=" + "USD";
url += "&amount2_description=" + "Item Price:"; // item name
url += "&amount2=" + "Your Price Here"; // place price 
url += "&amount3_description=" + "Quantity:";
url += "&amount3=" + "Your Quantity Here";
url += "&amount4_description=" + "Tax:";
url += "&amount4=" + "Your Tax Here";
url += "&detail1_description=" + "Order ID:";
url += "&detail1_text=" + "Your Order_ID Here";
url += "&detail2_description=" + "Description:";
url += "&detail2_text=" + "Description of product";
url += "&detail3_description=" + "Product ID:";
url += "&detail3_text=" + "Your Product_ID here";
url += "&detail4_description=" + "Order Date:";
url += "&detail4_text=" + "Order Date here";

// Split Gateway
// If Payment method not set then skrill will automatically select methods in your country
//url += "&payment_methods=" + "WLT,ACC"; // Skrill, Credit/Debit Cards

// redirects to Skrill
Response.Redirect(url)

テスト支払いについては、Skrillにリダイレクトした後、以下のテストカード番号を使用してください。

enter image description here注:Amexは4桁のテストCVVを使用します

0
5377037