首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PAYPAL php SDK1.0.1,如何设置NO_SHIPPING

PAYPAL php SDK1.0.1是一个用于与PayPal支付系统进行集成的软件开发工具包。该SDK提供了许多功能和接口,可用于处理支付事务、创建商户账户、管理订单等。

在PAYPAL php SDK1.0.1中,设置NO_SHIPPING是用于指定在PayPal支付流程中是否需要提供收货地址。当设置为NO_SHIPPING时,PayPal将不要求买家提供收货地址信息。

要设置NO_SHIPPING,可以通过在创建支付按钮或请求中包含相应的参数来实现。具体来说,你需要在PayPal支付请求中使用PayPal的Express Checkout功能,并将参数"SHIPPINGAMT"设置为0来表示不需要计算运费。同时,还可以通过设置"REQCONFIRMSHIPPING"参数为0来禁用确认收货地址的步骤。

以下是一个示例代码,展示了如何设置NO_SHIPPING:

代码语言:txt
复制
require 'paypal/autoload.php';

$apiContext = new \PayPal\Rest\ApiContext(
    new \PayPal\Auth\OAuthTokenCredential(
        'YOUR_CLIENT_ID',     // 客户端ID
        'YOUR_CLIENT_SECRET'  // 客户端密钥
    )
);

$payment = new \PayPal\Api\Payment();

$amount = new \PayPal\Api\Amount();
$amount->setTotal('10.00');
$amount->setCurrency('USD');

$transaction = new \PayPal\Api\Transaction();
$transaction->setAmount($amount);

$payment->setTransactions([$transaction]);

$redirectUrls = new \PayPal\Api\RedirectUrls();
$redirectUrls->setReturnUrl('http://example.com/success')
    ->setCancelUrl('http://example.com/cancel');

$payment->setRedirectUrls($redirectUrls);

$payment->setExperienceProfileId('YOUR_EXPERIENCE_PROFILE_ID');

$inputFields = new \PayPal\Api\InputFields();
$inputFields->setNoShipping(1);  // 设置NO_SHIPPING

$webProfile = new \PayPal\Api\WebProfile();
$webProfile->setName('Test Profile')
    ->setInputFields($inputFields)
    ->setTemporary(false);

$webProfile->create($apiContext);

$payment->setExperienceProfileId($webProfile->getId());

$request = clone $payment;

try {
    $payment->create($apiContext);
    $approvalUrl = $payment->getApprovalLink();
    
    echo "用户需要前往以下链接进行支付:\n$approvalUrl";
} catch (Exception $ex) {
    echo $ex->getMessage();
}

在上面的示例代码中,我们创建了一个支付对象$payment,并设置了相应的金额和货币。然后,我们创建了一个重定向URL对象$redirectUrls,指定了用户支付成功和取消支付后的跳转链接。接着,我们创建了一个体验配置对象$webProfile,并设置$inputFields中的$noShipping为1,表示不需要提供收货地址。最后,我们通过$payment->setExperienceProfileId($webProfile->getId())将体验配置与支付对象关联起来,并调用$payment->create($apiContext)来创建支付请求。

你可以根据实际需求,修改示例代码中的相关参数,以适应你的业务场景。此外,PAYPAL php SDK1.0.1还提供了许多其他功能和接口,可根据具体需求进行调整和集成。

希望以上信息对你有所帮助!

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • ECSHOP学习笔记

    1、根目录:前台程序文件 2、admin:后台程序文件夹    --根目录:后台程序文件  *.php文件    --help\zh_cn:各功能的帮助文件 *.xml文件    --images:后台页面用图片    --includes:后台公用文件和函数    --js:后台用js脚本    --styles:后台用样式表    --templates:后台页面模板  *.htm文件 3、api:调用API的系统公用函数 4、cert:存放证书的文件夹 5、data:数据连接设置等,包括各种广告的上传图片等    --afficheimg:首页flash广告图片    --brandlogo:品牌logo 6、images:上传商品图片文件夹,按日期分目录    --200902:按月份划分商品图片    --upload:上传文件夹,包括file、flash、image和media 7、includes:前台公用文件和函数    --codetable:语言对应的代码表    --fckeditor:开源html文本编辑器    --modules\convert:shopex转换文件    --modules\cron:如自动上下架、ip删除等函数    --modules\integrates:整合各种插件和函数基础类    --modules\payment:各种支付接口插件    --modules\shipping:各种送货方式插件 8、install:系统安装文件夹,用后请删除 9、js:前台用js脚本    --calendar:日历控件 10、languages:语言文件    --zh_cn:简体中文语言文件,存储简体中文下使用的函数变量等    --zh_tw:繁体中文语言文件,存储繁体中文下使用的函数变量等 11、temp:存放临时缓存等文件 12、themes:模板文件夹,可以随意拷贝模板样式 13、wap:手机浏览程序    --includes;公用文件和函数    --templates:页面模板  *.wml文件。

    05

    复制网站zencart模板的方法

    大家好,又见面了,我是你们的朋友全栈君。 首先说明的是,这里只是说明复制网站模板的理论,用于学习用途,复制并使用未经授权的模板是非法的。 第一次写这类说明,没有经验,欢迎大家指正、补充。 这里以zencart或者osc的模板为例,其他的模板也是同样的方法。 1. 首先在你的模板目录下,建立一个新的模板,例如:\includes\templates\mytemplate\ 复制\includes\templates\template_default下的所有目录和文件到新的目录中 2. 用文本编辑器修改\includes\templates\mytemplate\template_info.php,修改其中的名称、版本、作者等内容。 3. 在后台打开新的模板,然后再工具-外观控制中,点击重置 4. 获取网站模板的图片 用整站下载软件实现,例如Teleport Pro,下载全站的所有图形文件,要保留原站的文件结构。 图片通常都在/images目录下,将下载到的/images下的图形文件都复制到zencart的/images目录下。 5. 获取网站模板的按钮 也可以用Teleport Pro下载所有按钮,通常是英文的,osc的按钮图片在/includes/languages/english/images/buttons目录下。 将下载的按钮保存到zencart的按钮目录/includes/templates/mytemplate/buttons/english/ 和 /includes/templates/mytemplate/buttons/schinese/ 中,在schinese目录中的按钮,可以自己用图像处理软件转换成中文。 osc模板中,可供下载的按钮有: http://www.domainname.com/osc/includes/languages/english/images/buttons/button_address_book.gif http://www.domainname.com/osc/includes/languages/english/images/buttons/button_add_address.gif http://www.domainname.com/osc/includes/languages/english/images/buttons/button_back.gif http://www.domainname.com/osc/includes/languages/english/images/buttons/button_buy_now.gif http://www.domainname.com/osc/includes/languages/english/images/buttons/button_change_address.gif http://www.domainname.com/osc/includes/languages/english/images/buttons/button_checkout.gif http://www.domainname.com/osc/includes/languages/english/images/buttons/button_confirm_order.gif http://www.domainname.com/osc/includes/languages/english/images/buttons/button_continue.gif http://www.domainname.com/osc/includes/languages/english/images/buttons/button_continue_shopping.gif http://www.domainname.com/osc/includes/languages/english/images/buttons/button_delete.gif http://www.domainname.com/osc/includes/languages/english/images/buttons/button_edit_account.gif http://www.domainname.com/osc/includes/languages/english/images/buttons/button_in_cart.gif http://www.domainname.com/osc/includes/languages/english/images/buttons/button_login.gif http://www.domainname.com/osc/inclu

    03

    关于广告

    一、如何学习Android android开发(这里不提platform和底层驱动)你需要对Java有个良好的基础,一般我们用Eclipse作为开发工具。对于过多的具体知识详细介绍我这里不展开,我只说我个人的学习方法和本人以为的好的步骤。 1.搭建环境:包括对Java和Eclipse及模拟器(有真机再好不过)的熟悉,对于android的tools和adb命令可以放到后面熟悉了解。 2.从helloworld开始:了解一个基本的android应用代码包含哪些,各部分做什么用。(这里只要先了解个大概就好) 3.activity、intent:了解activity是什么及其生命周期,intent是什么东西及它是基于消息机制。 4.掌握基础:这阶段你可以反复的修改及单步调试一个简单的程序,并学会logcat、单步调试、最基本的View、最简单的布局、进而对service、intentFilter等的熟悉 (以上4步骤推荐看深入浅出Google_Android.pdf这个电子书就够了) 5.接下来就得动手了:开始做应用吧,不要问写什么应用,写你自己想的,你认为难度不至于太难的应用(别告诉我你现在就要做3D游戏,要做小鸟之类的),这个时期你基本不要教学的视频和android的书籍,最好的帮手有3个SDK目录下的doc($ANDROID_HOME$\docs\reference\index.html)、百度及google、破解工具(apktool、dex2jar、jd-gui,可以提取目标apk的资源及反编译源代码,这里反编译不是为了干坏事,而是从别人那里学习技术,你并不能完全的得到一个好的破解代码,但你可以通过代码片段来获取信息学习或者进行搜索从而学到各种技术),这个阶段你就要多看别人的代码多动手了,你要开始熟悉和使用android的类库。循环这步,直到你不在做android吧。

    04

    基于Hadoop生态圈的数据仓库实践 —— 进阶技术(三)

    三、维度子集         有些需求不需要最细节的数据。例如更想要某个月而不是某天的记录。再比如相对于全部的销售数据,可能对某些特定状态的数据更感兴趣等。这些特定维度包含在从细节维度选择的行中,所以叫维度子集。维度子集比细节维度的数据少,因此更易使用,查询也更快。         本节中将准备两个特定维度,它们均取自现有的维度:月份维度(日期维度的子集),Pennsylvania州客户维度(客户维度的子集)。 1. 建立月份维度表         执行下面的脚本建立月份维度表。注意月份维度不包含promo_ind列,该列不适用月层次上,因为一个月中可能有多个促销期,而且并不是一个月中的每一天都是促销期。促销标记适用于天这个层次。

    02
    领券