法兰克福机场现在可以使用支付宝和微信支付购

2019-09-10 13:58栏目:互联网
TAG:

原标题:德国法兰克福国际机场可用支付宝和微信支付

支付模块其实很早就做完了的,只是当初说需要银联支付,打算一起做完再写的,结果现在说银联支付不做了,好咯现在也没谁用银联支付这个坑爹的东西了·····另外还有就是懒癌发作了所以拖到现在,不说废话了。

微信支付

图片 1

导入静态库和头文件,运行直接爆红,解决方法:加入以下库libc++.tbd    systemconfiguration.framework  libz.tbd  libsqlite3.0.tbd  coretelephony.framework

   【环球网科技综合报道】据免税杂志《TRBusiness》9月11日报道,法兰克福机场现在可以使用支付宝和微信支付购买商品。

说明下,本文讲的是在后台生成支付密钥的情况下使用,实际上一般也不允许你自己生成的。

官方文档地址,其实官方文档讲的挺清楚了,我记录下简化版而已

首先添加依赖·······compile files('libs/alipaySdk-20161009.jar')

然后就可以用了······因为我没有加入网页支付,也就是说手机上必须装有支付宝才能使用,这是最最简单的方法

//支付宝回调private final int SDK_PAY_FLAG = 1; * call alipay sdk pay. 调用SDK支付 */public void alipay(final String payInfo) { //这里的payInfo是后台返回的,前端不用关心,用就是了,错了是后台的问题 Runnable payRunnable = new Runnable() { @Override public void run() { PayTask alipay = new PayTask(PayPhotoActivity.this); Map<String, String> result = alipay.payV2(payInfo, true); Message msg = new Message(); msg.what = SDK_PAY_FLAG; msg.obj = result; mHandler.sendMessage; } }; Thread payThread = new Thread(payRunnable); payThread.start();}

上面是使用的,接着是回调

@SuppressLint("HandlerLeak")private Handler mHandler = new Handler() { @SuppressWarnings public void handleMessage(Message msg) { switch  { case SDK_PAY_FLAG: { @SuppressWarnings("unchecked") PayResult payResult = new PayResult((Map<String, String>) msg.obj); /** 对于支付结果,请商户依赖服务端的异步通知结果。同步通知结果,仅作为支付结束的通知。 */ String resultInfo = payResult.getResult();// 同步返回需要验证的信息 String resultStatus = payResult.getResultStatus(); // 判断resultStatus 为9000则代表支付成功 if (TextUtils.equals(resultStatus, "9000")) { // 该笔订单是否真实支付成功,需要依赖服务端的异步通知。 //这里是支付成功,做后续操作 } else { // 该笔订单真实的支付结果,需要依赖服务端的异步通知。 showToast; } break; } default: break; } }};

好了支付宝的支付就是这么简单,简单到没人性······(曾经我以为不容易来着)

注意事项:

微信开发者平台上创建的应用,要开通微信支付,并且appid 保持一致,/订单信息和签名在服务器上进行,调用接口,解析数据构造订单,然后拉起微信app进行支付,

图片 2

接下来是微信支付,这个略坑

导包,吐槽下这个名字······compile files('libs/libammsdk.jar')

![这样的]UU.png]()

这个类里面是这样子的

 public class WXPayEntryActivity extends BaseActivity implements IWXAPIEventHandler { private static final String TAG = "MicroMsg.SDKSample.WXPayEntryActivity"; private IWXAPI api; private PayLongActivity payLongActivity ; // APP_ID 替换为你的应用从官方网站申请到的合法appId public static final String APP_ID = "11111111111111"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.pay_result); api = WXAPIFactory.createWXAPI(this, APP_ID); api.handleIntent(getIntent; } @Override protected void onNewIntent(Intent intent) { super.onNewIntent; setIntent; api.handleIntent(intent, this); } @Override public void onReq(BaseReq req) { } @Override public void onResp(BaseResp resp) { if (resp.getType() == ConstantsAPI.COMMAND_PAY_BY_WX) { if (resp.errCode==1) { sendBroadcast(new Intent(ConstantsConfig.ReceiverConfig.WX_PAY_SUCCESS));//成功广播 } else sendBroadcast(new Intent(ConstantsConfig.ReceiverConfig.WX_PAY_FAIL));//失败广播 finish(); } }

没什么用的我都删了,当然是对我来说没什么用这里吐槽下微信支付回调要另外弹出这个Activity,来告诉你成功还是失败,简直影响体验······所以我修改成用广播通知,这个界面直接finish掉。其实按照我的习惯用RxBus最好最方便了,之前有写过的,这个项目不允许就算了,后续回调你们自己看着来吧。

好,我们继续,这里是回调,接下来讲使用:

同样支付的数据都要从后台拿,微信的数据也是还要自己解析···我直接把json传进来了,反正你只要把req里面的这几个参数赋值对了就行,怎么传过来都好

 private void wxpay(JSONObject json) throws JSONException { IWXAPI wxapi = WXAPIFactory.createWXAPI(this, null); //这个跟回调那里一样要拿到后台申请的那个ID wxapi.registerApp("11111111111"); if (null != json && !json.has("retcode")) { PayReq req = new PayReq(); //req.appId = "wxf8b4f85f3a794e77"; // 测试用appId req.appId = json.getString; req.partnerId = json.getString("partnerId"); req.prepayId = json.getString("prepayId"); req.nonceStr = json.getString("nonceStr"); req.timeStamp = json.getString("timeStamp"); req.packageValue = json.getString("packageValue"); req.sign = json.getString; req.extData = "app data"; // optional// Toast.makeText(PayPhotoActivity.this, "正常调起支付", Toast.LENGTH_SHORT).show(); // 在支付之前,如果应用没有注册到微信,应该先调用IWXMsg.registerApp将应用注册到微信 wxapi.sendReq; } else {// Toast.makeText(PayPhotoActivity.this, "返回错误"+json.getString, Toast.LENGTH_SHORT).show(); } }

好,微信代码里面的就到这里,这还不算坑,还过的去

问题出在要配置后台····

图片 3就是这个坑爹的东西

包名好说,复制粘贴就好

说的是应用签名

AS里面获取MD5的方法

拿到后应该是这样的 81:6F:96:F7:2F:AE:7D:04:D4:73:F9:C5:EB:1C:4C:83

我们要吧冒号全部去掉,然后字母全部变成小写去掉冒号一个txt自行解决816F96F72FAE7D04D473F9C5EB1C4C83然后我是用AS的快捷键 ctrl+shift+U 搞定的,你们有好的方法也行·······816f96f72fae7d04d473f9c5eb1c4c83好了这个就是填上去的应用签名了

支付宝支付

导入sdk运行报错了,symbol not found 86x64

symbol not found 86x64一般来讲包这个错是没有导入编译所以需要的.tbd文件,导入即可,

支付宝需要导入的框架

图片 4

还有可能报openssl里有的文件找不到:

解决办法:配置下路径

图片 5

图片 6

德国WiRARD银行软件公司与GEBR达成协议。机场的Heinemann免税店将支持微信和支付宝这两个移动支付平台。28个GEBR里有100个授权点。法兰克福机场的Heinemann免税店同时支持两个移动应用程序,用户扫描二维码支付金额。法兰克福机场WiRARD应用程序为此提供技术支持,以确保支付宝和微信支付能够使用。

注意这只是编译版本的

打包后你要重新配置,签名就是拿签名文件keystore里面的,获取方法嘛cmd里面用这个代码 ***.keystore 为文件路径keytool -v -list -keystore ***.keystore

这坑爹的东西没有配置对的话,第一次调用微信支付是可以的,然后第二次就不行了,那时死命找原因才发现是这个地方的问题,话说这个也要我们弄也是坑······

好了支付宝支付和微信支付的就这么点东西,其实并不难······

接着,我想重新找家公司了,有人愿意要我或者帮忙内推下的么,有愿意帮忙的私信下我呗,万分感谢~

最后来句迟来的

中国游客对这项服务特别满意,他们不必再担心汇率的兑换,可以利用支付平台直接付款金额。以前,中国游客用中国银联信用卡在法兰克福购物。法兰克福机场总经理Georg Fuhrmann说:“在法兰克福机场,中国游客对我们来说是非常重要的顾客,增加了支付宝和微信支付的方式就更加吸引中国游客。”

祝大家新年大吉吧

图片 7

除此之外,支付宝和微信支付还直接面向游客,还提供折扣和额外福利等购买激励措施,这对游客来说就更有吸引力。

除了在机场,旅行景点的Heinemann商店也可以使用支付宝和微信支付,这些商店通常是旅游零售专卖店,里面会卖酒、香水、化妆品还有糖果。返回搜狐,查看更多

责任编辑:

版权声明:本文由PK10人工免费计划发布于互联网,转载请注明出处:法兰克福机场现在可以使用支付宝和微信支付购