支付宝会员卡发放 接口实现 部分功能

1. 发放会员卡

# 会员卡 开卡public function openCard(){$this->load->helper('url');$access_token = $this->session->userdata('access_token');#如果缓存已存在 直接返回 之前的跳转地址if(!$access_token){$this->alipay_auth();}$this->AopClient->gatewayUrl = 'https://openapi.alipay.com/gateway.do';$this->AopClient->apiVersion = '1.0';$request = new AlipayMarketingCardOpenRequest();$post_data['out_serial_no'] = 'E201611250222479XXX';$post_data['card_template_id'] = '20161207000000000103117000300XXX';$post_data['card_user_info'] = array('user_uni_id'=> '2088502948697XXX','user_uni_id_type'=>'UID');$card_no = 'ALICARD00002';$post_data['card_ext_info'] = array('biz_card_no' => 'hha',#支付宝业务卡号 说明: 1、开卡成功后返回该参数,需要保存留用; 2、开卡/更新/删卡/查询卡接口请求中不需要传该参数;'external_card_no'=>$card_no, # 商户外部会员卡卡号 说明: 1、会员卡开卡接口,如果卡类型为外部会员卡,请求中则必须提供该参数; 2、更新、查询、删除等接口,请求中则不需要提供该参数值;'open_date' => date('Y-m-d H:i:s'),'valid_date' => date('2022-m-d H:i:s'),'level' =>'VIP1','point' => '88','balance' => '128.88');$post_data = json_encode($post_data,JSON_UNESCAPED_UNICODE);$request->setBizContent($post_data);$result = $this->AopClient->execute($request,$access_token);#echo json_encode($result,JSON_UNESCAPED_UNICODE);#echo $access_token;exit;$responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";$resultCode = $result->$responseNode->code;if(!empty($resultCode)&&$resultCode == 10000){echo "成功";} else {echo "失败";}}

授权部分,参见 网页授权获取用户信息

返回结果

{"code":"10000","msg":"Success","card_info":{"balance":"128.88","biz_card_no":"lsh0000000xxx","external_card_no":"ALICARD000xx","level":"VIP1","open_date":"2016-12-12 17:19:05","point":"88","valid_date":"2022-12-12 17:19:05"}}

2. 更新会员卡

#卡券 更新#  请注意 $post_data['target_card_no'] 和$post_data['card_info']['external_card_no'] 必须和原来开卡时一致 否则会报会员卡不存在public function updateCard(){$this->AopClient->gatewayUrl = 'https://openapi.alipay.com/gateway.do';$this->AopClient->apiVersion = '1.0';$request = new AlipayMarketingCardUpdateRequest();$post_data['target_card_no'] = 'lsh000000057x';$post_data['target_card_no_type'] = 'BIZ_CARD';$post_data['occur_time'] = date('Y-m-d H:i:s');$card_no  = 'ALICARD00XXX';$post_data['card_info'] = array('biz_card_no' => 'hha',#支付宝业务卡号 说明: 1、开卡成功后返回该参数,需要保存留用; 2、开卡/更新/删卡/查询卡接口请求中不需要传该参数;'external_card_no'=> $card_no, # 商户外部会员卡卡号 说明: 1、会员卡开卡接口,如果卡类型为外部会员卡,请求中则必须提供该参数; 2、更新、查询、删除等接口,请求中则不需要提供该参数值;'open_date' => date('Y-m-d H:i:s'),'valid_date' => date('2022-m-d H:i:s'),'level' =>'VIP2','point' => '188','balance' => '1128.88');$post_data = json_encode($post_data,JSON_UNESCAPED_UNICODE);$request->setBizContent($post_data);$result = $this->AopClient->execute($request);$responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";$resultCode = $result->$responseNode->code;if(!empty($resultCode)&&$resultCode == 10000){echo "成功";} else {echo "失败";}}

返回结果

3. 查询会员卡

 #卡券 查询public function queryCard(){$this->AopClient->gatewayUrl = 'https://openapi.alipay.com/gateway.do';$this->AopClient->apiVersion = '1.0';$request = new AlipayMarketingCardQueryRequest();$post_data['target_card_no'] = 'lsh00000005XX';$post_data['target_card_no_type'] = 'BIZ_CARD';$post_data['card_user_info'] = array( #√ 可选参数'user_uni_id'=> '20885029486XXXX','user_uni_id_type'=>'UID');$request->setBizContent(json_encode($post_data));$result = $this->AopClient->execute($request);$responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";$resultCode = $result->$responseNode->code;if(!empty($resultCode)&&$resultCode == 10000){echo "成功";} else {echo "失败";}}

返回结果

array(1) { [0]=> object(stdClass)#27 (2) { ["alipay_marketing_card_query_response"]=> object(stdClass)#28 (4) { ["code"]=> string(5) "10000" ["msg"]=> string(7) "Success" ["card_info"]=> object(stdClass)#29 (7) { ["balance"]=> string(7) "1128.88" ["biz_card_no"]=> string(13) "lsh0000000xxx" ["external_card_no"]=> string(12) "ALICARD000xx" ["level"]=> string(4) "VIP2" ["open_date"]=> string(19) "2016-12-13 14:41:38" ["point"]=> string(3) "188" ["valid_date"]=> string(19) "2022-12-13 14:41:38" } ["schema_url"]=> string(63) "alipays://platformapi/startapp?appId=20000021&b=m&p=10606450079" } ["sign"]=> string(172) "LMyk18n2vKskbPRLyLvaxq0LJiM9OV4coFsgyLs6EPfhmMT2kU92e+xC1sW3o44EYsbJdN6J6BVz3Z/eiBAOYKQ01y4CdYs6idLlepiGTvZjkldXzNfe5Rc2VUsqPctI3rNgcWlZCeNUWgnRoQaBnH1xnYq6g72u/fKpEOYaXO0=" } }

4. 删除会员卡

#卡券 删除public function deleteCard(){$this->AopClient->gatewayUrl = 'https://openapi.alipay.com/gateway.do';$this->AopClient->apiVersion = '1.0';$request = new AlipayMarketingCardDeleteRequest();$post_data['out_serial_no'] = date('YmdHis').mt_rand(100,999); #商户端删卡业务流水号(商户确保流水号唯一性)$post_data['target_card_no'] = 'lsh0000000XXX';$post_data['target_card_no_type'] = 'BIZ_CARD';$post_data['reason_code'] = 'USER_UNBUND'; # 删卡原因 USER_UNBUND:用户解绑(可以重新绑定) CANCEL:销户(完成销户后,就不能再重新绑定) PRESENT:转赠(可以重新绑定)#$post_data['ext_info'] = ''; #√ 可选参数 目前支持如下key: new_card_no:新卡号 donee_user_id:受赠人userId 如 {"new_card_no":"12345"," donee_user_id":"20881021306XX"}$request->setBizContent(json_encode($post_data));$result = $this->AopClient->execute($request);var_dump(json_encode($result,JSON_UNESCAPED_UNICODE));exit;$responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";$resultCode = $result->$responseNode->code;if(!empty($resultCode)&&$resultCode == 10000){echo "成功";} else {echo "失败";}}

返回结果

{"alipay_marketing_card_delete_response":{"code":"10000","msg":"Success"},"sign":"PK9mGX8uy3xfwRKygPxPCuf62YQU5JrdY4yDSn5dRhRcjtcTlzm8Gzv1yhnNXOhyITDzY6O8+rwPpSUqrQXT3VvS6dkMvEnoXsT5uKefRKX9PuvwbttN5Vc7Me57aPX9dReiBji4HgBVMI22gcugZ8mBTuNIecYNAAxiVcZjUFQ="}

在开发商户会员卡发放卡券的时候,一直报 “无效的令牌”,很是郁闷,最后与支付宝相关技术定位问题,在于他们的文档未写完全,授权获取 access_token 时 scope 必须填写 auth_ecard

详见商户会员卡快速接入:

https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7386797.0.0.aUd2uI&treeId=251&articleId=105731&docType=1

支付宝七(商户会员卡之发放卡券)相关推荐

  1. 记录 支付宝口碑--商户会员卡 开发历程

    人生第一次写博客,肯定会有多多不足,希望在接下来的日子里自己能坚持下来,持之以恒. 简单介绍下功能需求,对接商场的CRM会员管理系统和支付宝口碑,实现通过口碑能给商场商圈开通电子会员卡,并通过支付宝消 ...

  2. 支付宝六(商户会员卡之模板创建)

    商户会员卡模板创建一直持续了大半个月的时间,天天与支付宝的技术进行沟通,终于创建成功了,这里Mark一下. 1. 构建模板参数 下面的模板参数中,有许多前面加了注释符号,基本都是可选参数,而且容易导致 ...

  3. php微信商务平台 红包调用,微信平台红包接口怎么调用?微信支付商户平台红包发放接口调用图文教程[多图]...

    微信平台红包接口怎么调用?估计很多商家都还不太会操作吧?别着急,下面是友情小编搜集相关资料整理出来的微信支付商户平台红包发放接口调用图文教程,希望可以帮到大家,现在就跟随小编一起看看吧!!! 首先,商 ...

  4. 微信支付宝多商户解决方案

    微信支付宝多商户解决方案 背景 项目目前微信支付宝支付时是直接将款项打到平台账户中,期望可以将款项打到对应的商家账户中. 支付宝 通过查找资料(如何实现一个项目配置多个商户信息付款给对应商户),支付宝 ...

  5. .NET版支付宝商户会员卡接入

    最近公司计划对接支付宝会员卡功能,而任务恰巧由领导安排给我这边,小弟之前也未做过支付宝接口,研究了三天,终于将支付宝会员卡API接口大体上调通了,现将其整理下,以供参考. 蚂蚁金服开发平台-商户会员卡 ...

  6. 支付宝无线商户签约指南

    最近开发的一款产品使用了支付宝作为应用内支付手段,所以简单记录一下需要的步骤,以供大家参考. 前提条件: 申请支付宝账号,我这里申请的公司账号: 开通账号实名认证: 去产品商店:https://b.a ...

  7. 支付宝接口参数调用相关

    这两天在熟悉支付宝的商户平台的一些接口,遇到了一些问题 1.接口调用权限问题 场景:我在商户平台中已经添加了某个应用,但是调用应用所对应的接口却返回消息显示权限不足 工具:使用的是支付宝封装的SDK ...

  8. H5网页使用支付宝授权登录获取用户信息详解

    用户信息授权 用户信息授权主要是为了获取支付宝用户ID(USER_ID).授权令牌(access_token),便于开发者处理自身业务逻辑的时候使用,例如:获取支付宝用户信息.发会员卡.快捷登录等.授 ...

  9. Java集成第三方支付宝(会员卡)——文档篇

    Java集成第三方会员卡--文档篇 简介 官方文档 相关文章 接入准备 获取会员信息 简介 API列表 商户会员卡 简介 API列表 文件上传 会员卡模板管理 开卡组件 会员卡管理 简介 获取会员信息 ...

最新文章

  1. 【Sql Server】数据库的安全机制
  2. linux中硬链接文件,科学网—Linux:文件的符号链接和硬链接 - 刘洋洋的博文
  3. madplay 操作步骤
  4. Scala - 快速学习08 - 函数式编程:高阶函数
  5. 关于VMware虚拟机安装windows 7系统
  6. python星空画法教程_教程 | 美轮美奂的星空画法
  7. 【5分钟 Paper】(TD3) Addressing Function Approximation Error in Actor-Critic Methods
  8. 【vuejs面试题】务必熟知的vuejs面试题「务必收藏」
  9. 电脑打印软件哪个好用?
  10. MessageDigest类
  11. 国际化中的翻译工具poedit
  12. C#实现发送短信功能
  13. 澳门上葡京综合度假村冬季献礼迎佳节
  14. 【转载】Linux摄像头驱动1——vivid
  15. 计算机动态评估英语阅读,【计算机教育论文】谈计算机动态评价模式同伴反馈有效性(共4305字)...
  16. 时间管理经典书籍-《番茄工作法图解》
  17. Oracle 的 表空间(Tablespace)、用户(User)、模式(Schema)
  18. 反向代理和正向代理的区别
  19. 17 个 JVM 参数
  20. [几何画板]正十七边形的做法

热门文章

  1. CentOS 修改系统时区和更新时间
  2. 李一鹏:一份让我无法拒绝的offer | OneFlow U
  3. 万字干货!核心用户获取和运营策略
  4. 单体对象 Singleton Object 提供的顶层方法
  5. 用DirectX做2D游戏的三种方法
  6. 应用程序无法正常启动0x000007b,请单击“确定”关闭应用程序(不要着急,先定位问题)
  7. 千兆万兆以太网测试仪
  8. 如何根据LAC和CellID进行手机定位
  9. java中怎么实现指数幂,java中幂指数值的运算代码解析
  10. 病毒感染高峰期错过考研怎么办?社科院与杜兰金融管理硕士项目是你强大的后盾