Paypal快速结账的优惠券代码

Era*_*ray 8 paypal express-checkout

我在我的网站上使用Paypal Express Checkout系统.但我想放一张优惠券(折扣)代码区.如果代码为真,它将减少.(像GoDaddy.com的购物车系统)

你知道吗,我应该从哪里开始呢?

(我没有使用任何电子商务框架)

Tla*_*uis 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 = mycouponcode

然后我们添加小计和总值

PAYMENTREQUEST_0_AMT = 1.50

AMT = 1.50

我认为贝宝所做的是广告所有项目总数,所以它会为这个订单做的事情

1.00 + 1.00-0.50 = 1.50

然后将其与总金额进行比较

如果他们匹配那么它是一个去,客户认为这是一个额外的项目,但显然与减号,这张图片来自paypal沙箱快递结账交易

Paypal快速结账交易优惠券代码


Dol*_*cci 4

一种方法是在您的网站上设置购物车,用户可以在其中输入促销代码。一旦他们输入了促销代码并准备好开始结账流程,您就可以将他们重定向到快速结账(您可以在其中向 Paypal 发送订单的最终金额等)。

根据 Paypal 论坛上的这篇文章,他们没有将折扣详细信息传递到结账流程的功能:https://www.x.com/thread/39681(“通过快速结账,所有折扣计算都需要完成在您的网站上。”)

在将价格发送至 PayPal 之前如何计算
1) 将促销代码的单独表格添加到您的页面:

<form method="GET">
    <input type="text" name="promocode"> 
    <input type="submit" value="Add Promo">
</form>
Run Code Online (Sandbox Code Playgroud)

2) 在服务器端,检查代码,用新价格相应地更新页面(例如,用新价格重新构建您的选择菜单)。PHP 示例:

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

如果您无权访问服务器,我想您必须使用 JavaScript 来完成此操作(即将您的促销代码和价格硬编码到页面中)

要在服务器端启动快速结账,
请从 Paypal 网站下载 PHP NVP SDK 和示例: 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");
               }

?>
Run Code Online (Sandbox Code Playgroud)