原生APP内置PayPal网页支付方式

不多言,直入正题

 快速结账(IOS和android通用,支持paypal支付和信用卡直接支付)

快速结账(Express Checkout)是移动端和网页端通用的接口,可以使用手机浏览器(webview)跳转实现支付。

沙箱环境测试:

https://developer.paypal.com/developer/accounts?event=createSuccess

用申请下来的企业帐号登录上面的网站里,申请沙箱测试帐号

<h1>沙箱帐号密码测试</h1>
                     <!-- 填写沙箱环境的URL,调好了改成正式的URL -->
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
	<input type="hidden" name="cmd" value="_xclick">
	<input type="hidden" name="business" value="[email protected]">
	<input type="hidden" name="item_name" value="SIGMA SD1000">
	<input type="hidden" name="amount" value="399.00">
	<input type="hidden" name="currency_code" value="USD">
	<!-- 填写支付后的回调地址 -->
	<input type="hidden" name="return"value="http://www.yoursite.com/thanks.html">
	<input type="image" src=\‘#\‘" //www.paypal.com/en_US/i/btn/btn_buynow_LG.gif "
	border="0" name="submit" alt=" PayPal - The safer, easier way to pay online">
</form>

点击按钮后会跳转到PayPal的官方沙箱环境,输入刚刚创建的买家测试帐号即可。

支付完成后可登录

https://www.sandbox.paypal.com

进行查看交易订单信息。

无论是什么原因使 PayPal 发送 IPN 消息,您的网站都能使用这些消息来启动订单履行,启用数字商
品下载,将信息存储到客户关系管理(CRM)或会计系统中,或者执行其他操作。但是,在执行这
些操作之前,您必须确定 IPN 消息未被篡改。为此,您的侦听器必须实施 IPN 验证协议。下图中的
步骤 2、3、4 和 5 展示了该协议的工作原理。

图中的数字分别对应以下操作:
1. 用户点击 PayPal 按钮启动结账流程;您的网络应用程序执行 API 调用;您的后台系统执行
   API 调用;或者 PayPal 发现某个事件。
2. PayPal 以 HTTP POST 方式向您的侦听器传递一条 IPN 消息,通知您该事件。
3. 您的侦听器返回一条空白的 HTTP 200 消息。
4. 您的侦听器以 HTTP POST 方式将完整的、未更改的消息传回 PayPal。
   备注此消息中必须包含与 PayPal 发送的原始 IPN 相同的字段和顺序,前缀都是
    cmd=_notify-validate 。 此外,此消息还必须采用与原消息相同的编码方式。
5. PayPal 发回一条只有一个词的消息—— VERIFIED (如果消息与原消息一致)或 INVALID (如
    果消息与原消息不一致)。
    注意为了防范欺诈,您的 IPN 侦听器必须实施 IPN 验证协议(上图中的步骤 2、3、4 和 5)。 在收
    到 VERIFIED 回复之后,您的后台进程就可以解析 IPN 消息的内容并做出相应回复——打印装箱单、
    启动数字下载等。
时间: 2024-10-15 15:43:56

原生APP内置PayPal网页支付方式的相关文章

app内嵌H5网页(webviewJavaScriptBridge)

摘要:使用的插件为webviewJavaScriptBridge,app端需要引入一下这个包,html页面只需一段JS代码 与IOS交互 <! 申明交互(此处代码固定) > function setupWebViewJavascriptBridge(callback) { if (window.WebViewJavascriptBridge) { return callback(WebViewJavascriptBridge); } if (window.WVJBCallbacks) { re

微信6.0.2内置浏览器网页分享控制失效应急办法

但是幸运的是,WeixinJSBridge.invoke('shareTimeline')和WeixinJSBridge.invoke('sendAppMessage')还是可以用的,所以我的解决办法是: 1.隐藏右上角按钮 2.给自己的应用加一个悬浮的toolbar,在toolbar里放上"分享"按钮. 分享按钮大致如下: html部分: <button onclick="WeixinJSBridge.invoke('shareTimeline')">

Android App内置键盘开发

参考: http://blog.csdn.net/hfsu0419/article/details/7924673 布局文件activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"      android:layout_width="match_parent"      android:layout_height="match

ASP.NET内置对象-网页转向的4中方法

ASP.NET页面跳转的方法 1.超链接 2.Response.Redirect("Urlstring") 3.Server.Transfer("UrlString") 4.PostBackUrl 1.超链接 页面中的静态超链接 <a href=http://www.baidu.com>百度</a> WEB控件,动态的添加 HyperLink hl=new HyperLink(); hl.NavigateUrl="http://ww

Update升级包中内置第三方app案例

Update升级包中内置第三方app案例 Update升级包中内置第三方app案例 介绍 总结内容 1 问题现象 2 原因分析 3 解决方案 Androidmk preinstallsh 4 后续工作中须注意细节 扩展阅读 1. 介绍 Amlogic MX8726 5iHome项目,客户提出需求在固件中预制第三方app 请列出开发的项目,项目简单背景,使用的平台,待总结的内容简述 2. 总结内容 2.1 问题现象: 客户提供第三方app直接使用U盘pm install YouKu_CIBN.ap

JS所有内置对象属性和方法汇总

JS三大对象 对象,是任何一个开发者都无法绕开和逃避的话题,她似乎有些深不可测,但如此伟大和巧妙的存在,一定值得你去摸索.发现.征服. 我们都知道,JavaScript有3大对象,分别是本地对象.内置对象和宿主对象. 在此引用ECMA-262(ECMAScript的制定标准)对于他们的定义: 本地对象 与宿主无关,独立于宿主环境的ECMAScript实现提供的对象. 简单来说,本地对象就是 ECMA-262 定义的类(引用类型). 这些引用类型在运行过程中需要通过new来创建所需的实例对象. 包

通过js判断微信、QQ等内置浏览器并在外部浏览器打开

在涉及移动端微信推广的项目时,由于对推广需求的精细化,不仅需要推广效率,还有始终保证域名在微信中的正常状态,我们解决方案在微信.QQ.支付宝内置浏览器给出相应的提示. function is_neizhi() { var ua = navigator.userAgent.toLowerCase(); if (ua.match(/MicroMessenger/i) == "micromessenger") { return "weixin"; } else if (u

通过js判断微信内置浏览器跳转到外部浏览器打开

在涉及移动端微信推广的项目时,由于对推广需求的精细化,不仅需要推广效率,还有始终保证域名在微信中的正常状态,我们解决方案在微信.QQ.支付宝内置浏览器给出相应的提示. function is_neizhi() { var ua = navigator.userAgent.toLowerCase(); if (ua.match(/MicroMessenger/i) == "micromessenger") { return "weixin"; } else if (u

js高级---本地对象、内置对象、宿主对象

名词参考: 原生对象:也叫内部对象.本地对象.native object 内置对象:Build-in object 宿主对象:host object ECMA-262 定义: 原生对象:独立于宿主环境的ECMAScript实现提供的对象.与宿主无关,在javascript(远景浏览器).nodejs(node平台).jscript(ie浏览器).typescript(微软平台)等等中均有这些对象.简单来说,本地对象就是 ECMA-262 定义的类(引用类型).在运行过程中动态创建的对象,需要ne