DelphiTeacher

专注控件开发

Delphi调用支付宝支付

2016/12/29 09:31 于 三方SDK

Demo下载地址:
https://pan.baidu.com/s/14i84u

加入支付宝开发者平台,
https://open.alipay.com

签约移动支付服务
访问https://b.alipay.com/order/productSet.htm

有一个”移动支付”产品,点击右下解的”了解详情”

再点击”在线申请”
提交营业执照以及需要的文档
通过之后可以查看到已经签约的产品:
https://b.alipay.com/order/signManage.htm?channel=ent
点击上方的“查看PID和Key”获取商户的PID,

在开放平台应用管理页面:
https://openhome.alipay.com/platform/appManage.htm创建一个应用,并配置应用信息:

点击应用右下角的”查看”,

点击应用环境,配置应用网关和RSA密钥,
应用网关是用户支付一笔订单,支付宝会向此网关Post这笔订单的详情与状态(下订单,取消订单,支付成功)。

使用OpenSSL配置好RSA公钥和私钥,生成KCS8的私钥
https://doc.open.alipay.com/doc2/detail?treeId=58&articleId=103242&docType=1RSA密钥生成命令
生成RSA私钥
openssl>genrsa -out rsa_private_key.pem 1024
生成RSA公钥
openssl>rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
将RSA私钥转换成PKCS8格式
openssl>pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt

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

PKCS8格式的字符串是我们代码里面要用的,用来加密
而生成的这个rsa_public_key.pem里面是我们要上传到支付宝的开发者公钥

在下面设置:

IOS平台使用方法:
布署如下文件

Delphi 10 Seattle 下,把OrangeUI_IOS9Fix.exe, IOSPlistConfig.txt拷贝到工程目录,并设置Build Events:
$(PROJECTDIR)\OrangeUI_IOS9Fix.exe "$(OUTPUTPATH).info.plist"

这个IOSSchema必须和IOSPlistConfig.txt中的CFBundleURLSchemes对应起来,

不然支付完不能返回到您自己的应用中。
注意:这里的URL Schemes中输入的alisdkdemo,为测试demo,实际商户的app中要填写独立的scheme,建议跟商户的app有一定的标示度,要做到和其他的商户app不重复,否则可能会导致支付宝返回的结果无法正确跳回商户app。

Delphi 10.1 Berlin下面,可以直接编辑源码目录下面的info.plist.TemplateiOS.xml,
在最后的之前,插入IOSPlistConfig.txt中的xml片段,

Android平台下使用方法:

添加JAR

设置权限:

配置AndroidManifest.template.xml

也就是加上下面这一段XML:
<activity
android:name="com.alipay.sdk.app.H5PayActivity" android:configChanges="orientation|keyboardHidden|navigation" android:exported="false"
android:screenOrientation="behind" >
<activity
android:name="com.alipay.sdk.auth.AuthActivity" android:configChanges="orientation|keyboardHidden|navigation" android:exported="false"
android:screenOrientation="behind" >

Delphi调用微信SDK(微信支付)

2016/12/28 15:14 于 三方SDK

Demo下载地址:
https://pan.baidu.com/s/14i84u

微信开发平台官方地址:
Open.weixin.qq.com
先申请成为微信开放平台开发者(注:不是公众号平台),
再创建一个应用,

需要配置包名,Android平台下还需要配置应用签名,在下面会讲到:

然后获取移动支付的能力

提交所需要的资料,
移动支付申请成功后会收到一封邮件,
上面有微信商户平台的商户ID,以及登录账号,
用这个账号登陆商户平台:
Pay.weixin.qq.com

接下来在电脑上安装证书:


安装完之后在API安全那里设置商户密钥

IOS平台微信SDK的使用方法:

在SDKManager中给IOS SDK添加SystemConfiguration等Framework

微信SDK的静态链接库为libWeChatSDK.a

Delphi 10 Seattle 下,把OrangeUI_IOS9Fix.exe, IOSPlistConfig.txt这两个文件拷贝到工程目录下,
并且设置BuildEvents:
$(PROJECTDIR)\OrangeUI_IOS9Fix.exe "$(OUTPUTPATH).info.plist"

IOSPlistConfig.txt内容如下:

修改IOSPlistConfig.txt,将里面的APPID替换成自己的APPID
注意,上面红框中的替换成您开放平台中应用的APPID,
不然支付成功不能跳转回你的APP,

Delphi 10.1 Berlin下面,可以直接编辑源码目录下面的info.plist.TemplateiOS.xml,
在最后的之前,插入如上的xml片段,

编译器中加以下参数,不然会闪退:

-ObjC -all_load
32位64位都需要设置

<key>LSApplicationQueriesSchemes</key>
<array>
<string>mqqOpensdkSSoLogin</string>
<string>mqzone</string>
<string>sinaweibo</string>
<string>alipayauth</string>
<string>alipay</string>
<string>safepay</string>
<string>mqq</string>
<string>mqqapi</string>
<string>mqqopensdkapiV3</string>
<string>mqqopensdkapiV2</string>
<string>mqqapiwallet</string>
<string>mqqwpa</string>
<string>mqqbrowser</string>
<string>wtloginmqq2</string>
<string>weixin</string>
<string>wechat</string>
</array>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>weixin</string>
<key>CFBundleURLSchemes</key>
<array>
<string>wx7e4aed8e24992dfc</string>
</array>
</dict>
</array>

Android版微信接口使用方法:
先来介绍一下如何用Eclipse生成jar,
比如我们的包名是:com.embarcadero.FairySport
打开Eclipse->File->New->Android Project
输入ProjectName(工程名),ApplicationName(程序名),PackageName(包名),

接下来我们创建wxapi.jar所需要的包com.embarcadero.FairySport.wxapi
File->New->Package

再创建我们需要的类,File->New->Class:
分别是OnWeixinListener, WXEntryActivity, WXPayEntryActivity:


添加完之后并写上相应的代码,然后我们再导出jar:
选中我们的wxapi这个Package,右键,导出,选择Java结点下面的JAR file,

选择好jar生成的路径,

点击Finish,就会生成jar了,
最后,用JarOrClass2Pas工具生成wxapi.jar的Delphi接口文件

比如我的包名是com.ggggcexx.orangeui
那么需要用Eclipse创建一个wxapi.jar,包含com.ggggcexx.orangeui.wxapi.WXEntryActivity,
因为调用微信接口发完消息会向WXEntryActivity发送调用成功还是失败,
然后再配置AndroidManifest.template.xml,

也就是添加这么一段:
<activity
android:name=".wxapi.WXEntryActivity"
android:label="%activityLabel%"
android:exported="true">
再设置需要的权限

如果要使用支付的话,
wxapi.jar中还需要包含com.ggggcexx.orangeui.wxapi.WXPayEntryActivity,
因为调用微信支付接口支付之后会向WXPayEntryActivity发送调用成功还是失败,
还要加
<activity
android:name=".wxapi.WXPayEntryActivity"
android:label="%activityLabel%"
android:exported="true">

在工程的Libraries中添加libammsdk.jar, wxapi.jar

创建签名文件

把红框中的md5(去掉冒号)设置到微信平台中

Delphi移动平台UI自定义控件OrangeUI 1.47 XE78版正式发布

2015/04/15 00:00 于 OrangeUI

经过三年的构思,设计和开发,
OrangeUI从最初的XE4的0.1初版,
到了今天XE8的1.47版,感谢各位D友的支持,
特别是国内和国外的OrangeUI客户的资助,
非常的感谢大家!
如今,基本的控件和界面功能已经实现和稳定,
接下来还有更多更复杂的,会在接下来的2015年开发,
努力给Delphi开发的APP带来更美观更方便的用户体验,

如果您对OrangeUI感兴趣的,请加群-OrangeUI技术支持 10900297
或加本人QQ DelphiTeacher 452330643

控件包(含Demo,教程)在百度网盘下载:
http://pan.baidu.com/s/14i84u

1.OrangeUI控件在每个平台上表现一致(IOS、Android、Windows、Mac),
拥有所见即所得的设计模式(在设计期属性设置完效果立即显现)
2.OrangeUI的图片类(Image,DrawPicture)可以显示多种类型的图片,
ImageList控件轻松管理图片列表
3.OrangeUI的Button,(以及其他控件)都能设计出想要的样式,
可以方便的设置背景颜色、背景图片、图标、字体,并自由定义显示的位置
NotifyNumberIcon控件,实现消息提示功能,
DrawPanel签名控件,可以随意书写,设置线宽和颜色
4.OrangeUI的Edit、ComboBox、ComboEdit、Memo可以随意设置高度、背景颜色、
背景图片、提示图标、提示文本,并且可以放上其他控件
5.OrangeUI的PageControl支持各种样式的标签头,支持数字提醒图标,
支持手持平滑切换(可以用做APP首次安装后的引导界面)
(自带的TabControl滑动效果差)
6.OrangeUI的ImageListViewer(图标列表查看器)可以查看ImageList中的图片,
支持手势切换,手势放大缩小,可以用做首页广告展示
7.OrangeUI的ListBox(ListView,TreeView),独创列表项设计方法
(在列表项设计面板上放入任何控件,随意自定义列表项显示样式)
简单的静态绑定和动态绑定(应对复杂列表),
轻松搞定下拉刷新、上拉加载更多的功能,
可以随意设置自带的风格,
TreeView控件可以设置层级之间的水平距离,
并带有父结点和子节点设计面板,
随意自定义节点显示样式,
绘制效率高,加载快(加载上W条数据2秒左右),滚动顺畅
8.OrangeUI包含丰富的DEMO(含源码)和不断完善的教程,
QQ学习Demo
WeiBo学习Demo
文件管理Demo
图片浏览Demo
购物学习Demo
OrangeUI,给您另一种选择!
对OrangeUI感兴趣的,请加群-OrangeUI技术支持 10900297
或加本人QQ DelphiTeacher 452330643