首先需要去https://b.alipay.com/order/serviceIndex.htm进行与阿里的签约。审核成功之后如下

1

点击查询PID、Key 进入下面的界面

2

输入支付宝密码点击确认便可查询到当前一些相关信息

3

这里需要用到的就是合作者身份PID,以及在合作伙伴加密管理栏目中 要提交的RSA密钥,由于我这里已经提交过了,所以RSA密钥项是查看密钥,如果没有提交 则是添加密钥。

下面的无线产品密钥可以不用管

接下来就是生成RSA公钥即要提交给支付宝的。

下载openssl密钥生成软件或者可以在当前界面 选择  技术支持 选项 下面的 快捷支付进行下载

解压压缩包 打开bin目录下面的openssl.exe得到下面的界面

4

 

1、首先生成RSA私钥

输入“genrsa -out rsa_private_key.pem 1024”命令,回车后,在当前bin文件目录中会新增一个rsa_private_key.pem文件(此处的rsa_private_key可以任意命名,只要记住自己命的名就好)

成功界面如下

5

2、然后生成RSA公钥

输入“rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem”命令回车后,在当前bin文件目录中会新增一个rsa_public_key.pem文件(此处的rsa_public_key可以任意命名,只要记住自己命的名就好)

此处生成的公钥将会用于提交给上面提到的密钥管理,注意的是不能出现空格 换行 必须是一行才能进行正确提交

成功界面如下

6

3、最后生成PKCS8编码的私钥

输入命令“pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt”并回车

成功界面如下

7

右键点击openssl窗口上边边缘,选择“编辑→标记”,选中要复制的文字此时继续右键点击openssl窗口上边边缘,选择“编辑→复制”,

把复制的内容粘贴进一个新的记事本中,可随意命名,只要知道这个是PKCS8格式的私钥即可

到此基本的密钥 已经全部制作好了。接着到bin目录下,用记事本打开rsa_public_key.pem公钥文件 将里面的密钥复制

然后到支付宝界面中 在RSA密钥旁 点击添加密钥  然后黏贴进去,点击确定。如无意外那么就提交成功啦。

如果提示格式错误那么可能是密钥中含有空格 或者是 换行。

接下来就是代码部分了。下载ANE  导入项目的工程就不说了

AlipayExtension.getInstance().AlipayInit( ) 将 第一个 和 第二个参数为商户的PID,第三个参数可以传入空字符串,然后第四个参数 则是上面最后一步生成的PKCS8格式

编码的私钥,第五个参数 是第二步生成的公钥。 后面的参数是定死的。在执行支付之前 先调用这个方法

AlipayExtension.getInstance().AlipayPay() 这个方法有三个参数 第一个为  消费名称/标题  将显示在支付界面   第二个是支付的金额 第三个则是对此次支付的描述

AlipayExtension.getInstance().AlipayExit();最后 退出


package
{
import com.alipay.ane.AlipayExtension;

import flash.desktop.NativeApplication;
import flash.events.InvokeEvent;
import flash.events.StatusEvent;

public class AlipayManager
{
public function AlipayManager()
{
AlipayExtension.getInstance().addEventListener(StatusEvent.STATUS,onStatusHandler);
NativeApplication.nativeApplication.addEventListener(InvokeEvent.INVOKE,onURLHandler);
}
private function onStatusHandler( e:StatusEvent ):void
{
trace( "alipay: ","level:"+e.level,"code:"+e.code);
}
//针对IOS
private function onURLHandler( e:InvokeEvent ):void
{
if(e.arguments.length>0){
trace(e.arguments[0]);
var str:String = e.arguments[0] as String;
AlipayExtension.getInstance().AlipayURLHandle_JustIOS(str);
}
}
public function initAlipay( ):void
{
AlipayExtension.getInstance().AlipayInit(
"2088800000000000",
"2088800000000000",
" ",
"MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAKL3R+adoF382DpP"+
"MdN5JUfBYfwz8ZiEtDbP1++mPCpGlumi85xG3QwYRfVPDYqU2QsroF2mvJEoUQJb"+
"NBJqkazzh+Wyud30VZrjviMgVbjSBoCyqT35GBZZOw52nlAScE83l0NayozANN47"+
"UGHFDMCvb6qEWYByzWQylIy75uypAgMBAAECgYAqRcq435qBxtywA2sBWCN7gYZR"+
"TYgV8BZvQWraF1zz+mubH1Hh79/XC1TaVS9GC2Zhp2dp4552aObanZ3cSRiQQnNE"+
"dhhD/ocCQ71oeLypPLB2w6U3Qjflds/bfNCW6QB3rU9CNR4xL9H/JUvzvTIcEap"+
"m40lhYOlxSMDkohagQJBANOiSXp1ePERReA4zxkk9olEL1VQZc5zQkTssRcquscx"+
"Sf93HUh5e2poxOaR9OFzIwQ/DetpI9/KA7FnyEniUs0CQQDFISObtGaY2J6Uc60V"+
"cvzu3MT0W3N9rP42+YQxB6MLTQhPgqMmK/BOzyjvG/cBpgiSBmsrz7KrsSqkdgC3"+
"thlNAkB6tsJmeJFNLxfWYPps+QrfIyNTE9BEen61mo1BAqzU7ZabxAS9znsqg1+Q"+
"1pco1us5/hnjI88CZ4/moWf4t3wNAkADYYIe1YU88domaaV6TLKR1i96kWb1rNXf"+
"U4A05xCgzP1rf64UpYRFlb/5+dzOpm5XMsz7v2AtGajFkVCJ1hGxAkBzrHIRFM7n"+
"U6jAh68rfAEnMi2ctb/RSQ3yh7UrORGMeLAz4/tt2OCNw5yNr0B+Ily6/1LzBFBD"+
"2x+y9cFpj2rL",

"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCi90fmnaBd/Ng6TzHTeSVHwWH8"+
"M/GYhLQ2z9fvpjwqRpbpovOcRfdsGEX1Tw2KlNkLK6BdpryRKFECWzQSapGs84fl"+
"srnd9FWa474jIFW40gaAsqk9+RgWWTsOdp5QEnBPN5dDWsqMwDTeO1BhxQzAr2+q"+
"hFmAcs1kMpSMu+bsqQIDAQAB",

"http://notify.java.jpxx.org/index.jsp",

"mobile.securitypay.pay",

"http://m.alipay.com");
}
/**
*进行支付
* @param title 消费名称/标题 将显示在支付界面
* @param price 价格
* @param discribe 消费描述
*
*/
public function doPayAction( title:String,price:Number,discribe:String ):void
{
AlipayExtension.getInstance().AlipayPay(title,price,discribe);
}
/**
*退出支付
*
*/
public function exitPay( ):void
{
AlipayExtension.getInstance().AlipayExit();
}

private static var _instance:AlipayManager;
public static function get alipay( ):AlipayManager
{
if( _instance == null )
_instance = new AlipayManager( );
return _instance;
}
}
}

 

 

 

 

 

 

 

 

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Free Web Hosting