收藏
回答

微信支付SDK 境外版跟国内版有哪一些区别?

我公司最近要接入微信境外版支付,想请教下,境外版跟国内版对于iOS客户端而言都有哪些不同?需要下载两个SDK吗?

回答关注问题邀请回答
收藏

2 个回答

  • 波
    2019-01-10

    您好,请参考:

    第一 (业务接口名称叫法不一致)

    境内的叫统一下单接口

    境外的统一下单接口全部叫支付接口,也有叫公众账号&小程序支付接口


    第二 (统一下单请求地址不一致)

    境内的请求地址是:https://api.mch.weixin.qq.com/pay/unifiedorder

    境外的请求地址是:https://pay.swiftpass.cn/pay/gateway


    第三 (统一下单参数名称不一致)

    境内的参数有:appid,scene_info等

    境外的参数有:service,version,charset,is_raw,is_minipg,sub_openid,sub_appid,mch_create_ip,

    这里仅列出了,不一样的参数,其他相同的参数没有列出,

    境外的参数中service是需要指定pay.weixin.jspay,如果是小程序支付的请求还需要is_raw参数

    境外没有场景参数

    境内的没有callback_url参数

    境内的没有mch_create_ip参数,境外的有


    第四 (微信支付状态不可知)

    境内的微信支付,开通了之后,可以在后台看见已开通

    境外的微信支付,开通了之后,后台不会变化,只能靠自己调接口查询

    境内和境外的返回参数也是类似哦,返回参数跟请求参数类似,都有区别


    第五(微信支付的开通方式不一致)

    境内的微信支付开通方式,只要在后台提交给微信即可

    境外的是需要通过第三方来申请


    第六(小程序支付方式不一致)

    境内的支付流程,需要有再次签名

    境外的支付流程中,不需要有再次签名,微信会返回可以唤起小程序支付的参数



    2019-01-10
    赞同
    回复 2
    • 原是人间一吃公
      原是人间一吃公
      2019-01-10

      您好,您这些都是后台需要更改的地方吧,

      PayReq *request = [[[PayReq alloc] init] autorelease]; request.partnerId = @"10000100"; request.prepayId= @"1101000000140415649af9fc314aa427"; request.package = @"Sign=WXPay"; request.nonceStr= @"a462b76e7436e98e0ed6e13c64b4fd1c"; request.timeStamp= @"1397527777"; request.sign= @"582282D72DD2B03AD892830965F428CB16E7A256"; [WXApi sendReq:request];

      我iOS客户端只需要调起支付跟处理支付回调接口,我们的预支付签名都是服务端处理的,我们客户端也还是需要下载两个SDK么?


      2019-01-10
      回复
    • 波
      2019-01-10回复原是人间一吃公

      您好,不需要下载两个SDK,SDK不分境内外,都是同一套。

      2019-01-10
      回复
  • 林长青
    林长青
    2019-03-21

    这里有sdk,下载可用  https://blog.csdn.net/changelim/article/details/88724915

    2019-03-21
    赞同
    回复
登录 后发表内容