-1

すべてのユーザー(売り手)が写真をアップロードして他のユーザー(買い手)に販売できるシンプルな販売サイトを構築しています

売り手は登録時にPayPalアカウントを作成する必要があるため、買い手が画像を注文すると、PayPalが外部のカード(ペイパルで何かを支払うときによく表示されるページ)を使用していなくても、ペイパルサイトに転送されます。買い手が支払うとき、それらの資金を売り手に送り、買い手をサイトに戻し、支払いを確認します。PHPが支払いを確認すると、購入者は画像をダウンロードできるようになります。

これは可能ですか、そしてどのように?

誰かが私や簡単なスクリプトを書いたり、この例を見つける場所を教えてもらえますか...それはWeb全体に広がっているので、誰もこれをしてはいけません...

ありがとうございました!

4

2 に答える 2

1

彼が登録するときに彼のペイパルアカウントを保存する必要はありません。

そしてPayPalは彼らのサポートセクションにたくさんの情報を書いています。

PayPalIPNを検索します。

于 2011-03-07T19:40:46.300 に答える
1

これが最初のステップです。フォームを作成し、購入ボタンを配置したい場所に配置します。任意のページに配置できます。PayPalサイトのボタンウィザードで作成できます。このnotify_urlの非表示の入力を追加するだけです。これらのフィールドは、phpで金額、item_name、ビジネス用メール、カスタムを入力して編集できます...

<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="any-email-you-want@domain.com">
<input type="hidden" name="lc" value="US">
<input type="hidden" name="item_name" value="Item Name">
<input type="hidden" name="item_number" value="150">
<input type="hidden" name="amount" value="100.00">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="button_subtype" value="services">
<input type="hidden" name="no_note" value="1">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="tax_rate" value="0.000">
<input type="hidden" name="shipping" value="0.00">
<input type="hidden" name="custom" value="user_id_goes_here">
<input type="hidden" name="bn" value="PP-BuyNowBF:btn_buynowCC_LG.gif:NonHosted">
<input type="hidden" name="notify_url" value="http://checking-url-goes-here/file.php">
<input type="image" src="https://www.sandbox.paypal.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>

2番目のステップでは、それが有効な支払いであるかどうかを確認します。file.php(または上記のフォームのnotify_url非表示入力で指定したファイルURL):

<?php

$req = 'cmd=_notify-validate';

foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}

$header .= "POST /cgi-bin/webscr HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$fp = fsockopen ('ssl://www.paypal.com', 443, $errno, $errstr, 30);

if (!$fp) {

//ERROR READING PAGE - CODE ERROR

} else {
fputs ($fp, $header . $req);
while (!feof($fp)) {
$res = fgets ($fp, 1024);
if (strcmp ($res, "VERIFIED") == 0) {

//VALID CODE, DO WHATEVER YOU WANT WITH IT HERE, PAYMENT IS CONFIRMED...

}
else if (strcmp ($res, "INVALID") == 0) {

//INVALID CODE

}
}

?>

このコードは内部でテストできます: https ://developer.paypal.com/ (PayPal Sandbox)

www.paypal.com

www.sandbox.paypal.com

(2か所で見つけることができます)。

以上です...

私はこの方向性を求めていました、そして誰も私をここに向けたくありません...

私はこの質問に対して-2の評価を得ていますが、私が求めているように、これらのマイナスのどれも私にそれらの例を書くのに十分賢いものではありませんでした...

そして、私はマイナスに値する人ですか?

(誰かがそれらの例が役立つと思うことを願っています)

于 2011-03-08T15:53:50.360 に答える