精华内容
下载资源
问答
  • PayPal支付流程

    2020-05-21 16:04:02
    PayPal支付流程图 更多流程相关的信息可以看这篇文章:跳转 IPN是什么? IPN全称是Instant Payment Notification(即时付款通知),当客户向您付款或付款被退回或退款时,PayPal会通过您指定的URL向您的服务器发布...

    PayPal支付流程图

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lk90Ar0V-1596707877480)(http://192.168.1.104:8080/server/…/Public/Uploads/2020-05-21/5ec6223b06567.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bohjx4lq-1596707877483)(http://192.168.1.104:8080/server/…/Public/Uploads/2020-05-21/5ec6224b8db20.png)]

    更多流程相关的信息可以看这篇文章:跳转

    IPN是什么?

    IPN全称是Instant Payment Notification(即时付款通知),当客户向您付款或付款被退回或退款时,PayPal会通过您指定的URL向您的服务器发布通知。此通知中将包含您客户的所有付款信息(例如,客户名称,付款金额)以及一段加密代码。服务器收到通知后,它将把包括加密代码在内的信息发布回安全的PayPal URL。贝宝将对交易进行身份验证并将其有效性确认发送回您的服务器。

    官方IPN文档

    NVP和SOAP是什么?

    PayPal提供了多个API接口供开发者使用。在使用API之前,你必zhidao须先申请一个高级个人账户或者企业账户,同时你必须获取API 凭证供每次调用API 时使用。

    一旦你获取了API凭证,您就可以调用相关的API接口专了。目前,我们提供两种API接口方式,NVP和SOAP。一般来说我们推荐您使用 NVP 接口。

    Name-Value Pair(NVP)接口 – 请求和响应都是使用简单的HTTP。该接口简单易实现,适合於初级开发者和需要快速完成集成的属人员;

    SOAP接口 - 请求和响应都是通过SOAP来完成。该接口适合於面向对象工程的开发;

    PayPal API:NVP(名称/值对)接口

    通过NVP API接口, 您只需给PayPal发送一个HTTP请求,并通过“名称=值”的形式指定请求参数,即可充分利用PayPal的API功能。

    NVP API 是 PayPal 的业务功能、风险管理和业务逻辑的简单接口。NVP API 最基本的使用方法是通过到 PayPal 服务器的 HTTPS 连接发送一个 NVP 字符串,然後处理响应(也是一个 NVP 字符串)。执行 NVP API 调用

    相关官方文档

    接入流程

    假如现在有一个应用要接入PayPal

    1. 首先创建一个开发者账号(注册链接),注册登录完成之后创建沙盒账号(链接)(沙盒账号是PayPal提供给开发者开发调试的账号,不需要真正的支付)。
    2. 设置IPN,首先登录上Business的沙盒账号(登录链接),点击右上角的设置进入账户设置页面,然后点击通知 -> 即时付款通知 -> 更新
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mqH8uSWt-1596707877484)(http://192.168.1.104:8080/server/…/Public/Uploads/2020-05-21/5ec62b47b1e5d.png)]
      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D47ptBev-1596707877486)(http://192.168.1.104:8080/server/…/Public/Uploads/2020-05-21/5ec62b98ad87d.png)]
    3. 开发回调处理代码,IPN处理流程见官方文档
    4. 开发cancel_url和return_url的处理,cancel_url是用户取消订单后跳转的链接,return_url是支付成功之后跳转的链接,一般都是跳转到后端的接口上,然后经过逻辑处理,重定向到指定的链接。

    沙盒账号详解

    创建沙盒账号时至少应该建立一个Business的和一个Personal的,这种账号注册方法和Paypal的流程一样,信息可以是假的,包括银行帐号、信用卡(其实Paypal Sandbox会自动生成一些随机的号码)。接下来需要激活Paypal Sandbox的虚拟帐号,注意,这里不管你在Paypal Sanbox注册时填什么邮件地址,有任何发送到虚拟帐号所填邮箱的邮件都存会在开发帐号的管理界面中的Email页(导航栏上有)中。登录Sandbox的虚拟Paypal环境,还需要验证虚拟帐号的银行,这里可以随便填,然后通过Add Funds来给账户充值(想填多少填多少)。

    代码实现

    以Laravel团队开发的srmklive/paypal为例子,如果框架是laravel,那配置paypal在config/paypal.php进行,如果不是,则需要在实例化对象时传入配置。文档,这个包所有跟paypal的接口交互方式都是NVP,该包已经全部封装好了,我们直接调用就可以了。

    货币代码文档

    https://developer.paypal.com/docs/api/reference/currency-codes/

    国家代码文档

    https://developer.paypal.com/docs/api/reference/country-codes/

    州和省代码文档

    https://developer.paypal.com/docs/api/reference/state-codes/

    区域代码文档

    https://developer.paypal.com/docs/api/reference/locale-codes/

    沙盒环境下的APPID统一都是APP-80W284485P519543T

    https://developer.paypal.com/docs/archive/nvp-soap-api/gs-PayPalAPIs/#the-components-of-an-api-request
    详情看这个文档

    NVP接口列表

    https://developer.paypal.com/docs/archive/nvp-soap-api/#

    下单NVP接口文档

    https://developer.paypal.com/docs/archive/nvp-soap-api/merchant/set-express-checkout-nvp/

    IPN校验结果判断处理文档

    https://www.paypal.com/c2/cgi-bin/webscr?cmd=p/acc/ipn-info-outside

    https://developer.paypal.com/docs/api-basics/notifications/ipn/IPNandPDTVariables/

    cancel_url和return_url的处理调用到的NVP接口相关的文档

    https://developer.paypal.com/docs/archive/nvp-soap-api/merchant/get-express-checkout-details-nvp/
    https://developer.paypal.com/docs/archive/nvp-soap-api/merchant/do-express-checkout-payment-nvp/

    paypal下单

    $orderData['items'] = [
        [
            'name'  => 'test',//商品名称
            'price' => 1,     //商品价格
            'qty'   => 1      //商品个数
        ],
    ];
    $orderData['invoice_id'] = 'xxxx'; //订单id
    $orderData['invoice_description'] = 'xxxxx';//订单描述
    $orderData['return_url'] = 'xxxxx';// 统一下单成功,跳转地址
    $orderData['cancel_url'] = 'xxxxx';// 下单失败,跳转地址
    $orderData['total'] = 1;// 订单总额
    $express = new ExpressCheckout;
    $provider->setCurrency('USD'); //设置paypal支付币种(可以使用config中的默认)
    $res = $express->setExpressCheckout($orderData);//设置参数,获取paypal链接(及时支付)
    

    IPN处理

    $provider = new ExpressCheckout;
    $request->merge(['cmd' => '_notify-validate']);
    $post = $request->all();
    $res = (string)$provider->verifyIPN($post);
    

    对return_url和cancel_url回来的数据进行校验处理

    $token = $request->input('token', '');
    $provider = new ExpressCheckout;
    $response = $provider->getExpressCheckoutDetails($token);
    if (in_array(strtoupper($response['ACK']), ['SUCCESS', 'SUCCESSWITHWARNING'])) {
    	if ($response['BILLINGAGREEMENTACCEPTEDSTATUS'] == 0) {
    		// 用户取消订单
    	} else {
    		$payerId = $request->input('PayerID', ''); // 支付者paypalid
    		$paymentStatus = $provider->doExpressCheckoutPayment($orderData, $token, $payerId);
    		// 调用NVP接口完成Express Checkout交易
    		$orderData['items'] = [
    			[
    				'name'  => 'test',//商品名称
    				'price' => 1,     //商品价格
    				'qty'   => 1      //商品个数
    			],
    		];
    		$orderData['invoice_id'] = 'xxxx'; //订单id
    		$orderData['invoice_description'] = 'xxxxx';//订单描述
    		$orderData['return_url'] = 'xxxxx';// 统一下单成功,跳转地址
    		$orderData['cancel_url'] = 'xxxxx';// 下单失败,跳转地址
    		$orderData['total'] = 1;// 订单总额
    		// 完成Express Checkout交易
    		$paymentStatus = $provider->doExpressCheckoutPayment($orderData, $token, $payerId);
    		$status = $paymentStatus['PAYMENTINFO_0_PAYMENTSTATUS'];
    		if (!strcasecmp($status, 'Completed') || !strcasecmp($status, 'Processed')) {
    			// 订单成功
    		} else {
    			// 订单失败
    		}
    	}
    }
    
    展开全文
  • PayPal 是全球使用最广泛,最受欢迎的“网络银行”。支持多国多币种结算,eBay 平台推荐使用PayPal作为资金账户进行跨国收付款交易。新手如何开通PayPal国际账户进行国际交易呢?PayPal的商业顾问也会在线协助...

     PayPal 是全球使用最广泛,最受欢迎的网络银行。支持多国多币种结算,eBay 平台推荐使用PayPal作为资金账户进行跨国收付款交易。新手如何开通PayPal国际账户进行国际交易呢?PayPal的商业顾问也会在线协助PayPal的注册开通。(了解PayPal如何使用

    首先PayPal的注册开通是完全免费的,PayPal不会向你收取任何费用,(了解PayPal资费标准)

    第一步:打开官网选择账户类型

    PayPal国际账户注册官网

    打开之后点击马上注册,会出现三种账户类型。对账户类型选择不清楚请查看账户区别


    PayPal怎么注册?PayPal注册流程,PayPal高级账户,PayPal企业账户

    1.确认国家和地区是中国(全球范围);如果你的英语不是很好,语言可以选择简体中文(chinese),方便你后期自己方便熟悉操作。

    2.建议注册高级账户,可以用于收款和付款;而且根据需要开通企业账户的也可以后期在账户内进行直接升级。

    第二步:基本信息填写

    PayPal怎么注册?PayPal注册流程,PayPal高级账户,PayPal企业账户

    1.注册邮箱填写:当您完成PayPal帐户注册后,PayPal会将激活电邮发送到您在此处填写的电邮地址,并且在您以后的PayPal交易中,您的交易情况,以及PayPal通知等,PayPal都将通过此邮箱通知您,请务必填写您常用邮箱。

    2.密码填写:为了让您的帐户更加安全,您在输入密码时,请不要使用与您的邮箱或者帐户类似的内容,建议使用由字母、数字、符号组合的密码。

    3.个人信息填写:务必如实填写你的姓名和出生日期

    *个人身份信息在PayPal上非常重要,为了保证一个诚信、安全的交易环境,我们建议您在PayPal注册时全部使用真实的身份信息。PayPal不会泄漏您的身份信息,敬请放心。


    PayPal怎么注册?PayPal注册流程,PayPal高级账户,PayPal企业账户
    1.注册过程可以根据需要选择是否绑定银行账户,方便在账户没有余额的时候可以付款。

    2.核对无误之后点击同意并创建账户。

    第三步:输入验证码

    PayPal怎么注册?PayPal注册流程,PayPal高级账户,PayPal企业账户

    输入验证码,点击继续

    第四步:设置密码提示问题

    PayPal怎么注册?PayPal注册流程,PayPal高级账户,PayPal企业账户

    1.密码提示问题,选择自己熟悉容易记住的,然后点击提交

    PayPal怎么注册?PayPal注册流程,PayPal高级账户,PayPal企业账户

    1.如果现在不想绑定银行账户,你可以点击转至“我的PayPal”

    第五步:确认邮箱(把刚注册的邮箱发给我)

    PayPal怎么注册?PayPal注册流程,PayPal高级账户,PayPal企业账户
    根据提示输入密码,激活

    然后再点返回我的paypal账户

    现进行账户的认证

    并去完成PayPal认证

    PayPal认证的流程看这里

    现在账户就可以收款了收款后注意事项)通过认证之后才可以提现(提现资料


    PS:注册好后记得一定要第一时间把邮箱发给我报备这样以后我就是你的专业顾问(免费服务),我作为PayPal公司官方顾问Ted,在线协助PayPal账户的注册、认证、激活,协助后期账户操作和费率下调,并协助你解决账户问题,并提供交易纠结发生时候的解决方案。所以请您在注册之前务必联系我协助您进行注册,以免造成不必要的麻烦。

    PayPal怎么注册?PayPal注册流程,PayPal高级账户,PayPal企业账户

    在线咨询QQ:

    1043635762

    点击这里给我发消息

    我的工作邮箱:

    gulv@paypal.com

    工作手机:

    13625816296

    办公电话:

    0571-28182269

    PayPal在线交流群:203646610

    PayPal外贸交流群

     PayPal外贸假发交流群:252743584 PayPal假发外贸交流群新群只加假发朋友

    展开全文
  • JavaEE PayPal 上线流程

    2018-04-05 08:19:07
    JavaEE PayPal 上线流程 之前我们提及过PayPal 分两个环境product环境和Sandbox环境。Sandbox环境就是给予Developer测试使用的。一旦要上线时,只需简单切换环境即可。 1. 简要概述Sandbox环境 使用PayPal ...

    JavaEE PayPal 上线流程

    之前我们提及过PayPal 分两个环境product环境和Sandbox环境。Sandbox环境就是给予Developer测试使用的。一旦要上线时,只需简单切换环境即可。

    1. 简要概述Sandbox环境

    使用PayPal Developer Dashboard中生成的 Braintree Sandbox 访问令牌来测试的集成。这可以执行以下操作:

    • 创建 sandbox 买家账户 - 这些是 PayPal 账户,可以让您测试PayPal结账流程
    • 将交易数据发送到PayPal的 Sandbox 环境

    完成上述设置后,可以在Sandbox购买者完成结帐流程后,使用服务器收到的付款方式随机运行各种交易方式(提交结算,退款,void)。请务必检查所做的每个calls的结果对象。

    2. 转换Product环境

    按照以下步骤从在Sandbox设置中工作转换为使用生产帐户创建实时事务:

    1. 登录到 PayPal console 并导航到访问令牌页面
    2. 点击“请求凭证”。将为您的帐户生成新的Braintree SDK凭据。您可以通过点击“显示”来显示先前生成的凭证。
    3. 在服务器代码中,使用生产访问令牌更新用于构造网关对象的访问令牌。
    4. 如果需要,启用其他货币

    无需客户端更新

    客户端只需从服务器获取其客户端令牌,这是上线的所有配置。

    总结上线流程: 换 AccessToken

    展开全文
  • JavaEE PayPal退款流程

    2018-04-05 08:18:39
    JavaEE PayPal退款流程 要求: 交易状态必须结算或结算。 退款金额不得超过原始交易的剩余未退款金额。 交易完全退还后不能退款。 在托管中进行的交易只能全额退还。尝试部分退还托管交易将导致验证...

    JavaEE PayPal退款流程

    • 要求:
      1. 交易状态必须结算或结算。
      1. 退款金额不得超过原始交易的剩余未退款金额。
      1. 交易完全退还后不能退款。
      1. 在托管中进行的交易只能全额退还。尝试部分退还托管交易将导致验证错误

    退款中的the_transaction_id:即为下单时成功返回的transaction.getId()

    1. 请求退款

    您可以退款具有结算或结算状态的交易。如果交易尚未开始结算,请Transaction.void()改用。如果您未指定退款金额,则整笔交易金额将退还。

    退款参数:

    参数是否必须说明
    transactionId唯一的事务标识符
    .amount(…)退款金额。该值必须大于0,并且不能超过交易的总金额。如果您未指定退款金额,则整笔交易金额将退还。
    orderId(…)如果您想通过getOrderId()与原始交易不同的交易,请使用此参数。否则,原始交易的orderId()价值将被复制到退款。在PayPal交易中,此字段映射到PayPal发票号码。PayPal帐单号码必须在您的PayPal商业帐户中唯一。PayPal交易的最大长度为255个字符或127个字符。
    Result<Transaction> result = gateway.transaction().refund("the_transaction_id");
    复制代码

    注⚠️:如果交易无法找到,它会抛出一个NotFoundException。

    2. 部分退款(只退其中一部分)

    如果只想退还部分交易,请指定退款金额(即上述参数:.amount(…)):

    Result<Transaction> result = gateway.transaction().refund(
      "a_transaction_id",
      new BigDecimal("50.00")
    );
    
    result.isSuccess();
    // true
    Transaction refund = result.getTarget();
    refund.getType();
    // Transaction.Type.CREDIT
    refund.getAmount();
    // 50.00
    
    Result<Transaction> result = gateway.transaction().refund(
      "a_transaction_id",
      new BigDecimal("10.00")
    );
    
    result.isSuccess();
    // true
    Transaction refund = result.getTarget();
    refund.getType();
    // Transaction.Type.CREDIT
    refund.getAmount();
    // 10.00
    复制代码
    • PayPal支持给定交易的单个和多个部分退款。只要退款金额小于初始交易金额,可以随时随地多次退款交易。

    • 如果已经部分退款交易,并且没有指定余额而执行其他退款,那么PayPal将退还剩余未退款的交易金额。

    注⚠️:最好的做法是在创建更多相同交易之前,允许每个部分退款呼叫成功完成。如果单个事务有太多的同时退款请求,有些可能会失败,从网关返回一个错误。

    3. 退款结果

    如果处理器拒绝退款交易的捕获,则交易对象将具有processorSettlementResponseCode可用。

    Transaction transaction = result.getTransaction();
    
    transaction.getStatus();
    // Transaction.Status.SETTLEMENT_DECLINED
    
    transaction.getProcessorSettlementResponseCode();
    // e.g. "4001"
    
    transaction.getProcessorSettlementResponseText();
    // e.g. "Settlement Declined"
    复制代码
    展开全文
  • 推荐资料主要是参考官方的 SDK PayPal-PHP-SDK wiki 操作的 https://github.com/paypal/PayPal-PHP-SDK/wiki,按照上面的步骤一步步操作以下三点也很重要1.下载 SDKcomposer require "paypal/rest-api-sdk-php:*"2....
  • paypal

    2013-07-16 09:48:40
    PayPal与贝宝 PayPalPayPal贝宝是独立运作的两个网站。 2. PayPal贝宝是由上海网付易信息技术有限公司与世界领先的网络支付公司——PayPal 公司通力合作为中国市场度身定做的网络支付服务。由于中国现行的...
  • ECshop增加paypal_EC流程

    千次阅读 2017-03-13 10:13:47
    下载paypal_ec的SDK并放到网站根目录,SDK可以找paypal顾问要源代码或下载地址。 第二步 找到\languages\zh_cn\payment 目录增加paypal_ec_2.php,这里的作用是增加语言文件包** * ECSHOP PAYPAL_EC语言文件 */...
  • paypal注册详细流程

    千次阅读 2012-12-05 09:55:56
    Paypal注册详细流程   hi!大家好!如果你有好的想法,好的idea,请将你的作品上传到黑莓的App world上来吧!与我们一同分享您成功的喜悦,让您的作品让众人拜倒吧!很多人都不知道如何上传付费的作品的流程,下面...
  • 对比PAYPAL和国际信用卡支付的流程

    千次阅读 2013-03-05 16:44:38
    Paypal交易流程: (1)前提;买卖双方都要在paypal公司开设一个PAYPAL帐户 当买家在网站购物付款的时候 1.买家向他自己的paypal帐户打钱,告诉paypal公司要买您的商品 2. Paypal公司确认后告诉商家钱已经...
  • PayPal支付

    2019-01-14 20:00:51
    所以paypal ipn(Instant Payment Notification),就是Paypal开发的一种能主动通知第三方卖家系统交易状态的一种机制。IPN的原理很简单,就是当产生了一个交易之后,交易状态发生变化时,如用户已经付款、或者退款...
  • PayPal 攻略

    万次阅读 2007-10-09 19:17:00
    PayPal全程攻略come from:http://www.pay4.cn/bbs/viewthread.php?tid=3472&extra=page%3D1一.... 3.PayPal的支付流程是怎样的? 4.可以同时拥有PayPalPayPal贝宝网站上的账户吗? 5.可以在PayPal上使用人民币 (RMB)
  • 该模块授权零售商使用PayPal的快速​​结账服务生成的PayPal交易令牌。 此模块导出的函数接受四个参数,即PayPal用户名,PayPal密码,PayPal令牌和用于处理结果的回调。 传递给该函数的回调有两个参数。 第一个参数...
  • 拆解流程如图所示 (过程类似支付宝的收银台): 流程详解: 本地应用组装好参数并请求 Checkout 接口,接口同步返回一个支付 URL; 本地应用重定向至这个 URL, 登陆 PayPal 账户并确认支付,用户支付后跳转至设置好...
  • Paypal测试

    千次阅读 2015-11-12 11:03:05
    PayPal测试流程 1. 下载API demo 2. 注册PayPal帐号,并认证  https://developer.paypal.com  邮箱真实,其它信息若只做测试,可以虚拟 3. 登录(2.)注册的payPal帐号,在    Sandbox accounts -> ...
  • PayPal支付开发

    2021-06-04 10:51:58
    1、创建PayPal App https://developer.paypal.com/developer/applications/ 2、PayPal Demo https://demo.paypal.com/ 我们需要记录每一笔支付订单的明细,通过php/nodejs代码示例,可以了解整个支付流程,无论...
  • paypal支付

    2017-11-17 06:35:01
    paypal的沙箱:https://developer.paypal.com/...商家沙箱登录:https://www.sandbox.paypal.co...paypal的PHP SDK地址:http://paypal.github.io/PayPa...paypal的demo网址:https://demo.paypal.com/us...
  • paypal对接

    2018-02-09 17:10:00
    paypal支付接口准备工作 首先去申请一个paypal账号,https://www.paypal.com/。 申请完毕并登录,进入https://developer.paypal.com/developer/accounts/。即可看到你申请账号自动配属的两个测试账号,账号类别...
  • Paypal认证

    2012-10-22 11:32:09
    获得 PayPal 认证的好处 提升网上交易声誉,吸引更多买家,增加销售额。...每月的 PayPal 支票提现额度增加到 2500 美元。...注:当您完成认证后的第一笔交易后, PayPal 会将 1.95 美金款项退还至您
  • paypal 教程

    千次阅读 2013-01-16 17:37:16
    关于paypal在线支付的信息可以直接访问http://www.paypal.com。paypal作为国际在线支付的...一般电子商务系统实现的流程如下: 客户在系统内下订单 -> 将订单的金额信息提交到paypal网站 -> 客户在paypal上付款 -> pa
  • paypal介绍

    千次阅读 2011-10-12 14:38:03
    关于paypal在线支付的信息可以直接访问http://www.paypal.com。paypal作为国际在线支付的一种比较常用的工具,在现在的国际电子商务中使用的非常多,这里将就paypal支付接口与企业自己的...一般电子商务系统实现的流程
  • java对接Paypal支付

    万次阅读 热门讨论 2018-04-03 11:40:32
    公司搭建海外购物网站,支付选择了paypal支付,以下内容是自己开发对接paypal对接的内容。 非常感谢:https://blog.csdn.net/change_on/article/details/73881791 这篇博客的启发。 前言: paypal是全球性质的...
  • Paypal支付的整体逻辑:1,前端向服务器下单,服务端向PayPal调用下单接口 ,Payment (resource group)Use the /payment resource to create a sale, an authorized payment, or an order. A sale is a direct...
  • PayPal取现

    千次阅读 2012-03-09 14:51:50
    如果每月2,500美元的撤款额度已经不能满足你的交易需要,你可以向PayPal发email,申请提高上额到10,000美元。这种方式的撤款周期较长,一般是1至2月不等,但是收费比较低廉,每张支票收费5美元。三种PP帐户激活后取

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,473
精华内容 989
关键字:

paypal交易流程