首页 > 其他分享 >关于支付宝和微信的相关问题部分汇总

关于支付宝和微信的相关问题部分汇总

时间:2022-12-20 19:31:16浏览次数:66  
标签:支付宝 referenced CAliSecXBuffer 微信 汇总 rsa RSA AlipaySDK APayReachability


支付宝:

问题1. Util/base64.h:63:21: Cannot find interface declaration for ‘NSObject’, superclass of ‘Base64’

解决办法:

这是base64.h中没有加入#import 系统库文件导致,这个错误报错方法直接想喷它一脸。报错方式太恶心。

问题2.截图告知你什么问题

关于支付宝和微信的相关问题部分汇总_支付宝

解决办法:

这个问题可以同上的,心情好,截图再次说明下,在 openssl_wrapper.h中#import 库即可

问题3.Util/openssl_wrapper.m:11:9: ‘rsa.h’ file not found

解决办法:

(1)万年老坑,只要你接入支付宝百分百要遇到的问题,所以习以为常吧

(2)在Build setting中搜索search,找到Header Search Paths,添加$(PROJECT_DIR)/openssl和$(PROJECT_DIR) 如下图:

(3)重要问题说三遍,这是网络找到的到答案后继续有同样的坑,自己的解决方案,

Header Search Paths $(PROJECT_DIR)/ali中输入这个

Framework Search Paths 和 Library Search Paths 继续是$(inherited) 和 $(PROJECT_DIR)/ali

‘rsa.h’ file not found的解决方案

(4)由于后期多项目的接入,让我知道一个算是万能方法吧,就是始终保持Header Search Paths 和 Library Search Paths 都能找到你导入的openssl的正确路径即可,已尝试多遍,是能解决以上问题(求黑)

关于支付宝和微信的相关问题部分汇总_库_02

关于支付宝和微信的相关问题部分汇总_支付宝_03

问题4. 这类错很多,大概有这些:这些可能是库文件没有导入,导致的

“_CNCopyCurrentNetworkInfo”, referenced from:

Undefined symbols for architecture x86_64:

"CNCopyCurrentNetworkInfo", referenced from:

-[APayReachability wifiInterface] in AlipaySDK

+[internal_DeviceInfo getSSIDInfo] in AlipaySDK

+[internal_DeviceInfo getNetworkInfo] in AlipaySDK

"_CNCopySupportedInterfaces", referenced from:

-[APayReachability wifiInterface] in AlipaySDK

+[internal_DeviceInfo getSSIDInfo] in AlipaySDK

+[internal_DeviceInfo getNetworkInfo] in AlipaySDK

"_CTRadioAccessTechnologyCDMA1x", referenced from:

-[AliSecXReachability networkStatusForFlags:] in AlipaySDK

"_CTRadioAccessTechnologyEdge", referenced from:

-[AliSecXReachability networkStatusForFlags:] in AlipaySDK

"_CTRadioAccessTechnologyGPRS", referenced from:

-[AliSecXReachability networkStatusForFlags:] in AlipaySDK

"_CTRadioAccessTechnologyLTE", referenced from:

-[AliSecXReachability networkStatusForFlags:] in AlipaySDK

"_OBJC_CLASS$_CMMotionManager", referenced from:

objc-class-ref in AlipaySDK

"OBJC_CLASS$_CTTelephonyNetworkInfo", referenced from:

objc-class-ref in AlipaySDK

"SCNetworkReachabilityCreateWithAddress", referenced from:

+[APayReachability reachabilityWithAddress:] in AlipaySDK

+[AliSecXReachability reachabilityWithAddress:] in AlipaySDK

"_SCNetworkReachabilityCreateWithName", referenced from:

+[APayReachability reachabilityWithHostname:] in AlipaySDK

+[AliSecXReachability reachabilityWithHostName:] in AlipaySDK

"_SCNetworkReachabilityGetFlags", referenced from:

-[APayReachability isReachable] in AlipaySDK

-[APayReachability isReachableViaWWAN] in AlipaySDK

-[APayReachability isReachableViaWiFi] in AlipaySDK

-[APayReachability connectionRequired] in AlipaySDK

-[APayReachability isConnectionOnDemand] in AlipaySDK

-[APayReachability isInterventionRequired] in AlipaySDK

-[APayReachability reachabilityFlags] in AlipaySDK

...

"_SCNetworkReachabilityScheduleWithRunLoop", referenced from:

-[AliSecXReachability startNotifier] in AlipaySDK

"_SCNetworkReachabilitySetCallback", referenced from:

-[APayReachability startNotifier] in AlipaySDK

-[APayReachability stopNotifier] in AlipaySDK

-[AliSecXReachability startNotifier] in AlipaySDK

"_SCNetworkReachabilitySetDispatchQueue", referenced from:

-[APayReachability startNotifier] in AlipaySDK

-[APayReachability stopNotifier] in AlipaySDK

"_SCNetworkReachabilityUnscheduleFromRunLoop", referenced from:

-[AliSecXReachability stopNotifier] in AlipaySDK

"std::1::basic_string, std::1::allocator >::init(char const, unsigned long)", referenced from:

CAliSecXURL::encodeURIComponent(CAliSecXBuffer&) in AlipaySDK

"std::1::basic_string, std::1::allocator >::reserve(unsigned long)", referenced from:

CAliSecXURL::encodeURIComponent(CAliSecXBuffer&) in AlipaySDK

"std::1::basic_string, std::__1::allocator >::~basic_string()", referenced from:

CAliSecXURL::encodeURIComponent(CAliSecXBuffer&) in AlipaySDK

"std::nothrow", referenced from:

CAliSecXBuffer::CAliSecXBuffer(unsigned long) in AlipaySDK

CAliSecXBuffer::_copy(unsigned char const, unsigned long) in AlipaySDK

CAliSecXBuffer::resize(unsigned long) in AlipaySDK

"std::terminate()", referenced from:

clang_call_terminate in AlipaySDK

"operator delete", referenced from:

CAliSecXBuffer::~CAliSecXBuffer() in AlipaySDK

CAliSecXBuffer::release() in AlipaySDK

CAliSecXBuffer::~CAliSecXBuffer() in AlipaySDK

CAliSecXBuffer::operator=(CAliSecXBuffer const&) in AlipaySDK

CAliSecXBuffer::resize(unsigned long) in AlipaySDK

alisec_crypto_Hex2Bin(CAliSecXBuffer const&) in AlipaySDK

alisec_crypto_Bin2Hex(CAliSecXBuffer const&) in AlipaySDK

...

"operator new", referenced from:

CAliSecXBuffer::CAliSecXBuffer(unsigned long) in AlipaySDK

CAliSecXBuffer::_copy(unsigned char const*, unsigned long) in AlipaySDK

CAliSecXBuffer::resize(unsigned long) in AlipaySDK

"cxa_begin_catch", referenced from:

clang_call_terminate in AlipaySDK

"gxx_personality_v0", referenced from:

+[ASSStorageAccesser saveStorageModel:] in AlipaySDK

+[ASSStorageAccesser loadStorageModelFromKeychain] in AlipaySDK

+[ASSStorageAccesser loadPreviousApdid] in AlipaySDK

+[ASSStorageAccesser getRandomizedID] in AlipaySDK

+[ASSStorageAccesser getNewRadomizedID] in AlipaySDK

+[ASSStorageAccesser loadLastLoginTime] in AlipaySDK

+[ASSStorageAccesser saveCurrentLoginTime:] in AlipaySDK

...

"_deflate", referenced from:

+[ASSCommonUtils gzipData:] in AlipaySDK

+[DTGZipUtil compressGZip:] in AlipaySDK

"_deflateEnd", referenced from:

+[ASSCommonUtils gzipData:] in AlipaySDK

+[DTGZipUtil compressGZip:] in AlipaySDK

"_deflateInit2", referenced from:

+[ASSCommonUtils gzipData:] in AlipaySDK

+[DTGZipUtil compressGZip:] in AlipaySDK

"_kCNNetworkInfoKeyBSSID", referenced from:

+[UIDevice(APEX) networkDic] in AlipaySDK

"_kCNNetworkInfoKeySSID", referenced from:

+[UIDevice(APEX) networkDic] in AlipaySDK

ld: symbol(s) not found for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

解决办法:

这种问题通过在General->Link Framework and Libraiies中添加以下framework解决:

- libz.tbd

- libc++.tbd

- Security.framework

- CoreMotion.Framework

- CFNetwork.framework

- CoreTelephony.framework

- SystemConfiguration.framework

截图如下,由于公司同时接入支付宝和微信支付,所以导入的库就多了点咯:

关于支付宝和微信的相关问题部分汇总_支付宝_04

问题5. Redefinition of 'RSA' as different kind of symbol 多为sdk集成时产生的坑,因为我们公司在集成支付宝之前,有用过RSA加密,导致重名问题

解决办法:

(1)这个问题不是每个公司都可能遇到的,但遇到也心烦

(2)由于支付宝中的openssl中的rsa.h文件与RSA加密有重名冲突。改掉公司自己之前导入RSA的命名,如果你牛逼也可以去改rsa.h中的

问题6. 系统库导入问题

+++++++++++++

symbol(s) not found for architecture arm64

关于支付宝和微信的相关问题部分汇总_支付宝_05

解决办法:

就是导入系统库了

关于支付宝和微信的相关问题部分汇总_库_06



问题7:拉起支付宝报错:交易订单处理失败,请稍后再试(ALI64)

解决办法:

重新生成私钥和公钥,执行步骤如下个问题

问题8:支付宝要重新生成私钥和公钥,并上传修改公钥 -- 为你补充

解决办法:

RSA密钥生成命令步骤如下:

(1)先在终端键入 openssl

生成RSA私钥

(2)openssl>genrsa -out rsa_private_key.pem 1024

生成RSA公钥

(3)openssl>rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

将RSA私钥转换成PKCS8格式

(4)openssl>pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt

注意:“>”符号后面的才是需要输入的命令。

使用

​​WuTiandeiMac:FPHClientNew wutianshi$ openssl​​       


​​OpenSSL>​​


​​OpenSSL>​​


​​OpenSSL>​​


​​OpenSSL>​​


​​OpenSSL> genrsa -out rsa_private_key.pem 1024​​


​​Generating RSA private key, 1024 bit long modulus​​


​​....................++++++​​


​​.........++++++​​


​​e is 65537 (0x10001)​​


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


​​writing RSA key​​


​​OpenSSL>​​


​​OpenSSL>​​


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


​​-----BEGIN PRIVATE KEY-----​​


​​MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBANOjnFDIjeQjyah1​​


​​1smthHNsiHyXE8EOWMyMZkLrIlbu6TCDVHk/hhJTpbDxVOz6f4cFdynP/wD9Tbnf​​


​​ZfJCKFDFJ9jPz3Euyb5/jLFbyAVblyLLPiv5bxRLaA9/w4Jtt+G7E/ti8HN6224x​​


​​4TT3owFuKqZTcAXeqXp7QMzZyEkZAgMBAAECgYBWYKRf5DrlLiYT92Rek89HPLjI​​


​​APEzDiP3+CWUkltFl+Tcw/0qL18NA87QVO8QeXyrIvPrwNSXFssuXZtCMPY6oqgh​​


​​21ixQ+w4Kk4Z8nkEbFNRjryrpOeGMQmZlkSqRiehnYPY6UT8ovKXj0D1HBoscfA7​​


​​z1Ioxpo3QEN3jsxkcQJBAPbgYhJYS7+/HB92eXaHckTpU0/ycosSj6ha02xs5+Sv​​


​​xJbkkDfrt/LVVgApBYlgJQG0WRcD/8+4cIyyAxGFp7MCQQDbdduyrvUTffsXeuad​​


​​XcHIAmX928y19YGvCU3+TJtGIfUMPoRsnidMnZh2s29G6bGy0fkrmMadogEkKqQX​​


​​AmYDAkBEmbdGx7hM0Oscpww7bonHMlrPNVy03nSC4LItR9nsRxdGor6ce2jDFpru​​


​​MnfyY4AFCDtVVOwpqWPFBNYrcUtXAkEAltAme2OKHawMmnUl9+zPV1B2oH6k7kJZ​​


​​rVy6kVA5wHdje9eWj0IcBaWjeacTiGreZ+Gt1sz1aKxFFoKLIxjN2wJADlpg/9iN​​


​​Bf+JylK9QEgOTw6PngSOiXeaVXdErOPbu4WkzvxhB0bm8HPEPiJpLg/3sNaaX3ou​​


​​TIEHO8o1EcEnrw==​​


​​-----END PRIVATE KEY-----​​


​​OpenSSL>​​


生成的文件:

关于支付宝和微信的相关问题部分汇总_微信_07

把公钥上传到支付宝,然后把pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt 这条命令产生的私钥用在下面设置中就好

然后设置

​​/*​​     


​​*商户的唯一的parnter和seller。​​


​​*签约后,支付宝会为每个商户分配一个唯一的 parnter 和 seller。​​


​​*/​​


​​/*============================================================================*/​​


​​/*=======================需要填写商户app申请的===================================*/​​


​​/*============================================================================*/​​


​​NSString *partner = PartnerID;​​ ​​//合作伙伴身份(PID):​​


​​NSString *seller = SellerID;​​ ​​//商户支付宝账户​​


​​//获取私钥并将商户信息签名,外部商户可以根据情况存放私钥和签名,只需要遵循RSA签名规范,并将签名字符串base64编码和UrlEncode​​


​​NSString *privateKey = PartnerPrivKey;​​ ​​// 刚第三端命令生成的去头去尾


微信:

​使用微信支付SDK1.5版本的支付demo​

​微信支付如果遇到跳转只有一个确定请看这里​

为了一些懒人懒的去看帖子,简单说,就是微信支付注册放在友盟分享之后就ok了!

代码示例:

​​// 友盟分享​​     


​​[self configUmengShare];​​


​​//向微信注册​​


​​[WXApi registerApp:@​​ ​​"wxb4ba3c02aa476ea1"​​ ​​withDescription:@​​ ​​"demo 2.0"​​ ​​];​​



标签:支付宝,referenced,CAliSecXBuffer,微信,汇总,rsa,RSA,AlipaySDK,APayReachability
From: https://blog.51cto.com/u_15894905/5956529

相关文章

  • INSTALL SHIELD使用中的错误问题汇总
    这两天使用的经验总结如下:一、在安装程序后,WINDOWS控制面板中选中该软件,无卸载选项。解决:打开该ISM文件,选择GENERALINFORMATION,将以下三项全部设为NO,必须全部,没有为什......
  • JAVA微信公众号页面授权
    一、前提条件1.申请微信公众号测试号申请一个微信公众号测试号。测试号申请:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login2.扫码登陆注册,注册成功后......
  • 微信小程序调用百度车牌识别
        <!--pages/AISearch/AISearch.wxml--><viewclass="ai_content"><viewclass="img_box"bindtap="chooseImg"><viewclass="upload_img"wx:if="{{t......
  • 网络工程师考试常用计算公式汇总,建议收藏!
    一、单位的换算1字节(B)=8bit1KB=1024字节1MB=1024KB1GB=1024MB1TB=1024GB通信单位中K=千,M=百万计算机单位中K=2^10,M=2^20倍数刚好是1.024的幂^为次方;/为除......
  • 一款基于 chatGPT和WeChat的微信机器人
     1、灵活使用chatGPT首先注册openapi账号是重中之重,网址:https://chat.openai.com/chat拿到apikey   其次这个有一个使用和收费政策,根据个人情况来试用,是按......
  • 【CANN训练营第三季】昇腾AI入门课知识点整理和汇总
    【CANN训练营第三季】昇腾AI入门课知识点整理和汇总CANN提供的昇腾语言计算接口是:AscendCL。 昇腾目前支持以下AI深度学习框架:昇思MindSpore、TensorFlow、PytorchCANN包含......
  • 企业微信第三方应用接入
    说明与企业内部应用不同,第三方应用开发完毕是给客户安装使用的,我们目前场景是客服系统,客服新增企业渠道方式接入,则客服系统可以通过企业微信接收会话和工单文档:https......
  • 德哥PostgreSQL学习资料汇总(转)
    德哥介绍:周正中,网名德哥(digoal),目前就职于阿里云。PostgreSQL中国社区发起人之一,PostgreSQL象牙塔发起人之一,DBA+社群联合发起人之一,DBGeeK社区专家组成员。德哥:看完......
  • 计算机视觉知识点汇总
    ​​ARM优化​​​​CPU硬件基础​​​​数字图像处理​​​​深度学习基础知识​​​​矩阵乘优化​​​​经典卷积网络​​​​神经网络量化与压缩​​​​模型剪枝​​......
  • #yyds干货盘点#【愚公系列】2022年12月 微信小程序-WebGL画渐变色正方形
    前言WebGL(全写WebGraphicsLibrary)是一种3D绘图协议,这种绘图技术标准允许把JavaScript和OpenGLES2.0结合在一起,通过增加OpenGLES2.0的一个JavaScript绑定,WebGL可以为......