9

ウェブサイトで Paypal エクスプレス チェックアウト システムを使用しています。でもクーポン(割引)コードエリアを入れたい。コードが true の場合、削減されます。(GoDaddy.com のカート システムのように)

どこから始めればいいですか?

(私は e コマース フレームワークを使用していません)

4

3 に答える 3

9

私はこれが古いスレッドであることを知っていますが、同じことを探している他の人のために私の経験をここに置きたかったのです。おそらくこれは当時は当てはまりませんでしたが、現在は当てはまります。少なくともサンドボックスでは、実際のトランザクションでこれをテストしていないことを意味します

Paypalに送信するアイテムを追加するときは、基本的にこれを送信します

L_PAYMENTREQUEST_0_QTY0 = 1

L_PAYMENTREQUEST_0_AMT0 = 1.00

L_PAYMENTREQUEST_0_NAME0 = 私のアイテム 0 名

L_PAYMENTREQUEST_0_NUMBER0 = myitem0id

次に、別のアイテムを追加します

L_PAYMENTREQUEST_0_QTY1 = 1

L_PAYMENTREQUEST_0_AMT1 = 1.00

L_PAYMENTREQUEST_0_NAME1 = 私のアイテム 1 名

L_PAYMENTREQUEST_0_NUMBER1 = myitem1id

そして今、私たちはクーポンを追加します

L_PAYMENTREQUEST_0_QTY2 = 1

L_PAYMENTREQUEST_0_AMT2 = -0.50

L_PAYMENTREQUEST_0_NAME2 = 私のクーポン名

L_PAYMENTREQUEST_0_NUMBER2 = マイクーポンコード

そして、小計と合計の値を追加します

PAYMENTREQUEST_0_AMT = 1.50

AMT = 1.50

ペイパルが行うことは、すべてのアイテムの合計を広告することだと思うので、この注文に対して次のようになります

1.00+1.00-0.50 = 1.50

次に、それを合計金額と比較します

それらが一致する場合、顧客はこれを余分なアイテムと見なしますが、明らかにマイナス記号が付いています。下の写真はペイパル サンドボックス エクスプレス チェックアウト トランザクションからのものです。

クーポンコードを使用したPaypalエクスプレスチェックアウト取引

于 2013-02-14T12:02:07.380 に答える
4

1つのアプローチは、ユーザーがプロモーションコードを入力できるショッピングカートをサイトに配置することです。プロモーションコードを入力し、チェックアウトプロセスを開始する準備ができたら、エクスプレスチェックアウト(Paypalに注文の最終金額などを送信する場所)にリダイレクトします。

Paypalフォーラムのこの投稿によると、割引の詳細をチェックアウトプロセスに渡す機能はありません:https ://www.x.com/thread/39681 ( "エクスプレスチェックアウトでは、すべての割引計算を行う必要があります。あなたのサイトで。」)

ペイパルに価格を送信する前に計算する方法
1)プロモーションコードの個別のフォームをページに追加します。

<form method="GET">
    <input type="text" name="promocode"> 
    <input type="submit" value="Add Promo">
</form>

2)サーバー側で、コードを確認し、それに応じてページを新しい価格で更新します(たとえば、選択したメニューを新しい価格で再構築します)。PHPの例:

<?
if(isset($_GET('promocode')) {
    $prices = processPromo($_GET('promocode'));
}
else {
    $prices = array(2000, 4000, 6000);
}
?>

サーバーにアクセスできない場合は、JavaScriptを使用してこれを行う必要があります(つまり、プロモーションコードと価格をページにハードコードします)

サーバー側でエクスプレスチェックアウトを開始するに
はPaypalのウェブサイトからPHPNVPSDKと例をダウンロードします:
https ://cms.paypal.com/us/cgi-bin/?cmd = _render-content&content_ID =developer / library_download_sdks

<?php
require_once 'CallerService.php';

session_start();


ini_set('session.bug_compat_42',0);
ini_set('session.bug_compat_warn',0);

/* Gather the information to make the final call to
   finalize the PayPal payment.  The variable nvpstr
   holds the name value pairs
   */
$token =urlencode( $_SESSION['token']);
$paymentAmount =urlencode ($_SESSION['TotalAmount']);
$paymentType = urlencode($_SESSION['paymentType']);
$currCodeType = urlencode($_SESSION['currCodeType']);
$payerID = urlencode($_SESSION['payer_id']);
$serverName = urlencode($_SERVER['SERVER_NAME']);

$nvpstr='&TOKEN='.$token.'&PAYERID='.$payerID.'&PAYMENTACTION='.$paymentType.'&AMT='.$paymentAmount.'&CURRENCYCODE='.$currCodeType.'&IPADDRESS='.$serverName ;



 /* Make the call to PayPal to finalize payment
    If an error occured, show the resulting errors
    */
$resArray=hash_call("DoExpressCheckoutPayment",$nvpstr);

/* Display the API response back to the browser.
   If the response from PayPal was a success, display the response parameters'
   If the response was an error, display the errors received using APIError.php.
   */
$ack = strtoupper($resArray["ACK"]);


if($ack != 'SUCCESS' && $ack != 'SUCCESSWITHWARNING'){
    $_SESSION['reshash']=$resArray;
    $location = "APIError.php";
         header("Location: $location");
               }

?>
于 2011-02-27T15:55:18.417 に答える
2

PayPal ボタンの割引クーポンを作成するために使用する方法は次のとおりです。

ボタンに次のコードを使用します。

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" onsubmit="this.target = 'paypal'; return ReadForm (this);">
<input type="hidden" name="cmd" value="_xclick" />
<input type="hidden" name="add" value="1" />
<input type="hidden" name="business" value="YOUR MERCHANT ACCOUNT ID NUMBER HERE" />
<input type="hidden" name="item_name" value="10 sessions" />
<input type="hidden" name="amount" value="773.00" />
<input type="hidden" name="currency_code" value="USD" />
<input type="hidden" name="baseamt" value="773.00" />
<input type="hidden" name="basedes" value="10 sessions" />
Enter Coupon code
<input type     = "text" size     = "10"  name     = "coupcode"; />
<input type="button" value="Check code" onclick="coupval =this.form.coupcode.value;  ChkCoup();" /><br/><br/>
<input type="image" id="xx" disabled="disabled" src="https://www.paypalobjects.com/WEBSCR-640-20110306-1/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" onclick="CalculateOrder(this.form)" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypalobjects.com/WEBSCR-640-20110306-1/en_US/i/scr/pixel.gif" width="1" height="1">
</form>

Javascript ファイルを作成し、次のコードをコピーして貼り付けます。

<!-- var discnt = 0;   // no default percent discount   var coupons = new Array (  // place to put coupon codes   "coup1",                 // 1st coupon value - comma seperated   "coup2",                 // 2nd coupon value - add all you want   "coup3"                  // 3rd coupon value ); var coupdc  = new Array (  // place to put discounts for coupon vals   5,   10,   15 ); var coupval = "(blanket)"; // what user entered as coupon code   function ChkCoup () {      // check user coupon entry var i;   discnt = 0;              // assume the worst   for (i=0; i<coupons.length; i++) {     if (coupval == coupons[i]) {       discnt = coupdc[i];  // remember the discount amt       alert ("Valid coupon number! \n\n" + discnt +              "% discount now in effect.");       return;     }   }   alert ("'" + coupval + "'  is not a valid code!"); }   function Dollar (val) {      // force to valid dollar amount var str,pos,rnd=0;   if (val < .995) rnd = 1;  // for old Netscape browsers   str = escape (val*1.0 + 0.005001 + rnd);  // float, round, escape   pos = str.indexOf (".");   if (pos > 0) str = str.substring (rnd, pos + 3);   return str; }   function ReadForm (obj1) {  // apply the discount var amt,des;   amt = obj1.baseamt.value*1.0;       // base amount   des = obj1.basedes.value;           // base description     if (discnt > 0) {                   // only if discount is active     amt = Dollar (amt - (amt * discnt/100.0));     des = des + ", " + discnt + "% dis, COUP = " + coupval;   }     obj1.amount.value = Dollar (amt);   obj1.item_name.value = des; } //--> 

ファイルを discount.js または任意の名前で保存し、サーバーにアップロードします。次に、Web サイトの < head > セクションに次の行を挿入して、スクリプトを呼び出します。

<script type="text/javascript" src="http://yourwebsite.com/discount.js"></script>

割引パスワードと割引を指定する方法の詳細については、 http://icode4you.net/how-to-create-a-coupon-discount-for-paypal-buttonsでこのトピックについて書いたブログ投稿を読むことができます。正しいパスワードが入力されたときに適用される金額と、Javascript をパックしてパスワードをより安全にする方法。

于 2011-08-19T16:10:02.980 に答える