cocos2dx接入支付寶sdk

一,在支付寶開放平臺下載支付寶SDK(https://openhome.alipay.com/platform/document.htm#down)

二,添加sdk文件到xcode

  1,新建一個aliPaySDK文件夾,提取SDK包中以下文件到此文件夾裏,在xcode中添加此文件夾。

       

  2.在xcode中,點擊項目名,選擇"target"->"Link Binary With Libraries"添加依賴庫。

  3.編譯項目,會出現以下問題:

  1)"Unknown type name ‘NSString‘ "或者"Unknown type name ‘NSData‘ "等不識別常見類的問題。

  這是因爲缺少Foundation類庫和UIKit類庫,支付寶Demo中之所以沒有出現此錯誤,是因爲在.pch文件中導入過這些類庫

  解決辦法:只需要在出現錯誤的文件中導入這些類庫即可

  2)‘openssl/asn1.h‘ file not found

  這是openssl文件夾頭文件鏈接問題,如果openssl文件夾隨意拉進項目中,即使添加頭文件鏈接,也可能解決不了此問題,

  這也是問什麼一開始就將所需要的文件放到一個新建文件夾中再添加到項目中的原因。

  解決辦法:Targets->Build Settings->Header Search Path中添加1中建立的aliPaySDK文件夾的路徑(拖拽此文件夾至輸入框即可)

如果仍未解決,把 #include <openssl/rsa.h> 
改成 #include <rsa.h>
去掉 openssl/ 就行了 

  3)根據項目需求添加demo中ViewController中的代碼 編譯後可能會出下面錯誤:

  "_OBJC_CLASS_$_Product", referenced from: objc-class-ref in ViewController.o

  AlipaySDK的demo中將Product的定義寫在了ViewControler.h中所致

  解決辦法:新建Product類,將ViewController中的代碼拷貝過去即可。

4)

解決方法:1.你沒有編譯到這個DataSigner.m源文件
Tagert--Build Phases -- Compile Sources 下添加對應的.m文件
比如上面的錯誤 就是需要加上 DataSigner.m源文件

2.如果確定已經添加上面這個文件的
很可能你是在混編文件(也就是.MM)裏調用的CreateRSADataSigner方法
解決辦法 就是DataSigner.m和DataVerifiler.m
把這兩個類改爲MM文件,C++和OC混編,

即是把DataSigner.m和DataVerifiler.m改爲DataSigner.mm和DataVerifiler.mm,

然後通過Tagert--Build Phases -- Compile Sources---Add Other添加.mm文件,

之後必須clean,再運行纔可能通過

三、查詢PID和key

登錄 支付寶 商家服務:https://b.alipay.com/order/serviceIndex.htm

四,MAC OS下使用OpenSSL生成私鑰和公鑰的方法

MAC OS自帶了OpenSSL,所以不用去編譯那一坨跟SHIT一樣的源碼。直接在命令行裏使用OPENSSL就可以。

打開命令行工具,然後輸入 openssl打開openssl,接着只要三句命令就可以搞定。第一句命令生成私鑰;第二句命令把RSA私鑰轉換成PKCS8格式,密碼爲空就行;第三句命令生成公鑰。


Last login: Fri Sep 12 00:59:51 on ttys000

stormerdeiMac:~ stormer$ openssl

OpenSSL> genrsa -out rsa_private_key.pem 1024

Generating RSA private key, 1024 bit long modulus

....++++++

..................++++++

e is 65537 (0x10001)

OpenSSL> pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM –nocrypt

Enter Encryption Password:

Verifying - Enter Encryption Password:

-----BEGIN ENCRYPTED PRIVATE KEY-----

MIICoTAbBgkqhkiG9w0BBQMwDgQIStQxV5Ap0rECAggABIICgCN+n27Qujr/tQ5B

sTUoYmJWY+SBkv4NdwKFgkqPODbbVnpyLyDXO5BDgyjql6mdrOnGmYL1GYoNWHiy

BlBVvGLVwZodummJIVYRTyQoeazUSsdv0ahxf1mpSvhJzHpycUwPo9BY+uLCFISq

bqaZoHhQeKy48+tqSlv1gcff4PFjaws9TUoHQ/S65FYs/Jhhso3fGYIH3jPeU73K

kmKa4Y5tJWdj5SChJPZKUR3/1hw4+KQqpVrTNwkov98gIYhrls/lFTHTM9iWKVY+

GXc2SEbnyDZwx6Wu4N6wnM5iXKNh+wPMM2Fwsml9Pcqh2Z2spG0yaKARhCiVKPTn

mtVK5QcLYlSqmLF/Z3DkI2Pd4ve//1dsyHr9gO+GK0BX1B6ihx0yf21gMRULH7PS

qmQJrMtQCyUfJNtKViVub/dsXGb9bgecAX8xzP2kBlfuNnle45gCTAlqQ53OkCM6

M41P+RQdgJ4OQXVMiiIRZzmYCn+Mxz64B7f5DFU+7tMMQV2rpPBr4aWCXOllkU/Z

h7eRLfnxzoTgm29KIYTabiwQMxa03o9pzJeI9yFvmdwwA40wGknh5PJTFsUJw57r

KV6qZpP8cHzydWqLyJBJ0s2YOALuZI8nd2y3lGK3eyWqDERcD0ChH1sraV2jccB+

oHAq4OU1rAskukhvP7GxUkut7yZGZ9b57L0ILP+764OZOqMlmwsTbO3oKaHi7YeV

xlTS9WQFw2cde1FJXV/IpHR1+mU7OdIXLRQwcWwrguSSEhD4V6YKN5mO69XPuTzD

Q5qYvo7HtFg8SQ6pQZMQFQE0xS7tHf9DjP+XjXUUwJx8C9DPZlMB02bH47cMG6Jf

Q/Zb1I4=

-----END ENCRYPTED PRIVATE KEY-----

OpenSSL> rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

writing RSA key


最後附上截圖。

MAC <wbr>OS下使用OpenSSL生成私鑰和公鑰的方法


生成的文件:

MAC <wbr>OS下使用OpenSSL生成私鑰和公鑰的方法

查看文件只需把文件改成.txt文件格式,打開即可
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章