2012-03-14 13 views
12

私は現在Paypal Expressへの通常の取引を掲示しており、エラーなくゲートウェイに到着しています。Paypal Express - ディスカウントの追加

私は今カートを設定してゲートウェイに割引を送信したいと思います。私の最初の考えは、ゲートウェイに送信される 'AMT'値を変更することでした。しかし、ペイパルは、合計が変更されていないことを確認するためにITEMAMTTAXAMTSHIPPINGAMTフィールドの合計を計算することによって、「AMT」フィールドを検証しているようです:

[L_AMT0] => 49.99 
[L_NUMBER0] => 3706{3}8 
[L_QTY0] => 1 
[L_TAXAMT0] => 0.00 
[ITEMAMT] => 49.99 
[TAXAMT] => 0 
[SHIPPINGAMT] => 14.95 
[AMT] => 64.94 
私はペイパルへの割引を送ってどのように多くの

?私は運がないと私が見つけることができるドキュメンテーションを見てきました。ここの同様の質問は役に立たなかった。ありがとう。

を編集してください:私はフィールドSHIPDISCAMTを通過できることに気付きました。私はこれが私にそれを必要とするものを私にさせるかどうかわからない - 私はsoemthingが「ミスマッチ」であることを示す誤りをまだ得ている。

+0

割引をあらかじめ計算して、それをあなたのPayPal変数に因数分解できませんか? – Josh

+0

@Joshどうすればいいですか? PayPalは個々のL_ *要素を調べることによって '合計'を再計算します。その計算が 'AMT'フィールドと一致しない場合は、私はそれを拒否してしまいます。その場合、ゲートウェイエラーが返されます。 私は個々の 'L_AMT * 'を変更して、それぞれの割引値の一部を取り除くことを考えましたが、それはひどい解決策のようです。 あなたはより詳細な回答を提供できますか? (ありがとうポスト) – Pete171

+0

@ジョシュ私自身の質問に答えました。それにもかかわらず、あなたの助けをありがとう! – Pete171

答えて

22

マイナスの金額を広告申込情報として渡して、自分で値引きすることができます。私は上記のコードを追加する必要がありました:これは、次のような効果だった

$params['L_NAME1'] = 'Discount Coupon'; 
$params['L_AMT1'] = -$discountCodeAmount; 
$params['L_QTY1'] = 1; 
$params['ITEMAMT'] -= $discountCodeAmount; 
$params['AMT'] -= $discountCodeAmount; 

enter image description here

を私は、このPDFに私の答えを見つけた:

https://cms.paypal.com/cms_content/CA/en_US/files/developer/PP_ExpressCheckout_IntegrationGuide.pdf

何らかの理由でその情報は、私が読んだ他のいくつかの公式のPayPalの書類/書類では与えられていませんでした。

+0

他のPayPalソリューションについても説明されていましたが、それも見つかりませんでした。素晴らしい発見。 – Josh

0

割引を達成するためにマイナスの価格の広告申込情報を使用しましたが、問題に直面しました。割引価格が商品の価格と等しい場合(例:以下のようなラインアイテム:

[L_NAME0] => Product #1 
[L_COST0] => 18.99 
[L_QTY0] => 1 
[L_NAME1] => Discount 
[L_COST1] => -18.99 
[L_QTY1] => 1 
[ITEMAMT] => 0.00 
[FREIGHTAMT] => 15.00 
[HANDLINGAMT] => 0.00 

そして、それはPayPalのエラー「フィールド・フォーマット・エラー:10431、アイテムの量が無効です。」を生成します。

PayPalはこのフィールドを「Shipping Discount」と表示しますが、実際にはアイテムの割引ですが、このフィールドは「割引」フィールドの代わりに送信されます。 少なくとも、それが動作する...

0

あなたは、このパラメータを使用してカートワイドディスカウント(discount_amount_cart)、製品の広いディスカウント(discount_amount)を送信することができますこのPayPal URLに HTML Variable List

<input type="hidden" name="discount_amount_cart" id="discount_amount_cart" value="3.00"> 

を参照してください。あなたは提供リンクでもっと見つけることができます。正の整数値を渡すことを確認してください。 PayPalは負の値を受け入れません。

関連する問題