支付宝app支付宝怎么申请退款款

蚂蚁宝卡可以退款吗?蚂蚁宝卡怎么退款?
时间: 11:29:44
来源:下载吧
编辑:linyanhong
蚂蚁宝卡可以退款吗?蚂蚁宝卡怎么退款?现在每个人使用手机上上网,上网的时候就一定会用到流量,但是流量太少了不够用应该怎么办呢?你可以去试试办一个蚂蚁宝卡,但是会有这么一个疑问,就是:蚂蚁宝卡可以退款吗?蚂蚁宝卡怎么退款?  退款方法:  1.更新到新版支付宝  2.建议更新吧,不过能申请办卡的版本,就应该能申请退款。  3.在首页选择“全部”  4.打开app,就在首页两排应用栏里,选择“全部”。  5.找到“便民生活”栏,点选“蚂蚁宝卡”  6.一步步来,首次申请退款,需要这一步。  7.在蚂蚁宝卡欢迎页,点选“?”帮助  8.就在欢迎页右上角。  9.在“帮助”页面查找  10.这里可以查找到“蚂蚁宝卡怎么退款”选项,点击进入。  11.选择进入“蚂蚁宝卡生活号”  12.进入服务号,就可以跟客服沟通了,客服会给您一个解答的。  温馨提示:  如果不知道怎么退款,就找客服帮助哟!
喜欢这文章可以分享给您的朋友哦
支付宝蚂蚁宝卡怎么退款?很多小伙伴都想知道支付宝蚂蚁宝卡能退款吗?具...
蚂蚁宝卡如何申请呢?昨日小编发布了一系列关于蚂蚁宝卡之后收到了不少网...
近日,支付宝和中国联通联合合作推出的蚂蚁宝卡产品获得了不少的关注度。...
腾讯王卡/蚂蚁宝卡/百度神卡/工行e卡哪个好?手机卡资费对比介绍。随着人...
此前腾讯大王卡、百度圣卡已经支持添加亲情号,拨打电话免费的福利。而蚂...
支付宝蚂蚁宝卡怎么退款?很多小伙伴都想知道支付宝蚂蚁宝卡能退款吗?具...
蚂蚁宝卡如何申请呢?昨日小编发布了一系列关于蚂蚁宝卡之后收到了不少网...
近日,支付宝和中国联通联合合作推出的蚂蚁宝卡产品获得了不少的关注度。...
腾讯王卡/蚂蚁宝卡/百度神卡/工行e卡哪个好?手机卡资费对比介绍。随着人...
蚂蚁宝卡怎么申请靓号?蚂蚁宝卡靓号在哪里申请?支付宝与中国联通宣布达...
前不久,支付宝联合中国联通推出了一款手机号码品牌“蚂蚁宝卡”。该商品...
蚂蚁宝卡激活提示系统繁忙请稍后重试怎么回事?最近一段时间,支付宝联合...
此前腾讯大王卡、百度圣卡已经支持添加亲情号,拨打电话免费的福利。而蚂...
在今天上午,京东正式发布了传闻已久的京东强卡。其中,京东强卡分为大强...
支付宝“蚂蚁宝卡”线下买单送流量:每月高到1000MB。支付宝联合中国联通...APP中微信,支付宝支付,退款接口从申请到开发过程
之前在做公众号开发过程中有集成过微信的支付功能,但是一些帐号相关的申请与设置都由其他同事弄好后提供过来的,最近APP项目中集成微信和支付宝的功能,从相关接口权限和开发都自己亲自走了一遍,不得不说走了不少转路,今天分享下,希望对大家有所帮助吧
1、微信APP支付功能申请流程
a、打开 https://open.weixin.qq.com/ (微信开发平台)进入商户管理中心,注:这里省去了帐号的注册流程
b、点击移动应用下面的’创建移动应用‘,创建一个新应用
c、创建完成后,新应用便会出现在移动应用列表中,可点击查看按钮,进入应用详情页,如下图1,2所示
d、APP微信支付接口权限需要申请才能获得,费用300元一次
e、下载微信SDK包,并将自己对应的商户号,APPid,支付密钥,公众号密钥等相关信息填入到WxPay.Config.php中
f、有一点需要特别强调下,公众号证书与APP证书不一样,APP支付接口申请下来后,会由到相关邮件,邮件中登录帐号与密码,证书就在这里下载
2、APP支付宝申请流程(支付宝的管理后台整合了比较多系统,入口不好找到)
a、 打开 https://openhome.alipay.com/platform/manageHome.htm登录支付宝,注:这里省去了帐号的注册流程
b、点击我有开发能力,进入我的应用页面
https://openhome.alipay.com/platform/appManage.htm
c、如图3所示,可以对应用进行管理与创建
d、如图4所示,申请应用所需要的接口权限
e、下载支付宝SDK
3、一切申请通过之后,便可以开始接口的开发了
4、我这边讲解的是PHP作为后,给APP端提供支付接口的流程
微信大致流程为:APP端将订单信息提交到后台,后台通过微信统一下单接口到微信去下单,微信端返回相关信息到PHP后台,后台先将订单保存到数据库成功后,返回签名信息给APP端去实现真正的支付
支付宝大致流程为:APP端将订单信息提交到后台,后台通过支付宝规定的签名算法将签名信息返回给APP端,APP端调用支付宝SDK去实现支付
5、下面贴出我在开发过程中用到的代码,不是很规范,但可以借鉴
private function _wxPay($data){
$total_money = 1;
vendor('WxpayAPI.lib.WxPay#Api');
$WxPayApi = new \WxPayApi();
// 商品名称
$subject = '';
$detail="在线支付";
$native="APP";
// 订单号,示例代码使用时间值作为唯一的订单ID号
$out_trade_no = createPayid();
$unifiedOrder = new \WxPayUnifiedOrder();
$WxPayConfig=new \WxPayConfig();
$unifiedOrder-&SetBody($subject);//商品或支付单简要描述
$unifiedOrder-&SetAppid($WxPayConfig::APPID);//appid
$unifiedOrder-&SetMch_id($WxPayConfig::MCHID);//商户标识
$unifiedOrder-&SetNonce_str($WxPayApi::getNonceStr($length = 32));//随机字符串
$unifiedOrder-&SetDetail($detail);//详情
$unifiedOrder-&SetOut_trade_no($out_trade_no);//交易号
$unifiedOrder-&SetTotal_fee($data['total_money']*100);//交易金额
$unifiedOrder-&SetTrade_type($native);//应用类型
$unifiedOrder-&SetSpbill_create_ip($_SERVER['REMOTE_ADDR']);//发起充值的ip
$unifiedOrder-&SetNotify_url($WxPayConfig::NOTIFY_URL);//交易成功通知url
//$unifiedOrder-&SetTrade_type($native);//支付类型
$unifiedOrder-&SetProduct_id(time());
$unifiedOrder-&SetTime_start(date('YmdHis'));
$result = $WxPayApi::unifiedOrder($unifiedOrder);
if (is_array($result)) {
if ($result['result_code']=='SUCCESS') {
//将订单信息插入到表中
$order = D('order');
$data['id'] = $out_trade_
$data['trade_no'] = $result['prepay_id'];
$data['noncestr'] = $result['nonce_str'];
$order_info = $order-&add($data);
$wxpay_result=new \WxPayResults();
$timestamp=time();
$wxpay_result-&SetData('appid', $result['appid']);
$wxpay_result-&SetData('partnerid', $result['mch_id']);
$wxpay_result-&SetData('prepayid', $result['prepay_id']);
$wxpay_result-&SetData('timestamp', $timestamp);
$wxpay_result-&SetData('noncestr', $result['nonce_str']);
$wxpay_result-&SetData('package', 'Sign=WXPay');
$resign_result=$wxpay_result-&SetSign();
$back_data=array(
'result_code'=& C('API_CODE.SUCCESS'),
'result_msg'=&C('API_CODE.SUCCESS_MSG'),
'appid'=&$result['appid'],//appid
'partnerid'=&$result['mch_id'],//商户号
'prepayid'=&$result['prepay_id'],//与支付id
'package'=&'Sign=WXPay',
'noncestr'=&$result['nonce_str'],
'timestamp'=&$timestamp,
'sign'=&$resign_result,
echo json_encode($back_data);exit();
$back_data = array(
'result_code'=& C('API_CODE.ERROR'),
'result_msg'=&C('API_CODE.ERROR_MSG')
echo json_encode($back_data);exit();
private function _aliPay($data){
// $total_fee = 0.01;
header("Content-type: text/ charset=utf-8");
vendor('AlipayAPI.AopSdk');
$out_trade_no = createPayid();
//将订单信息插入到表中
$order = D('order');
$data['id'] = $out_trade_
$order_info = $order-&add($data);
$seller_id = '';
$url = 'http://域名/index.php/Home/order/ali';
$ali = array(
'service' =& 'mobile.securitypay.pay',
'partner' =& '',//
'_input_charset' =& 'utf-8',
'sign_type' =& 'RSA',
'sign' =& '',
'notify_url' =& urlencode($url),//回调地址
'out_trade_no' =& $out_trade_no,//商户网站唯一订单号
'subject' =& '',//商品名称
'payment_type' =& 1,//支付类型
'seller_id' =& $seller_id,//支付宝账号
'total_fee' =& $data['total_money'],//总金额
'body' =& '',//商品详情
$ali = $this-&argSort($ali);
$str = '';
foreach($ali as
$key =& $val){
if($key == 'sign_type' || $key == 'sign'){
if($key == ''){
$str = $key.'='.'"'.$val.'"';
$str = $str.'&'.$key.'='.'"'.$val.'"';
$sign = urlencode($this-&sign($str));
$str = $str.'&sign='.'"'.$sign.'"'.'&sign_type='.'"'.$ali['sign_type'].'"';//传给支付宝接口的数据
$data = array();
$data['result_code'] = C('API_CODE.SUCCESS');
$data['result_msg'] = C('API_CODE.SUCCESS_MSG');
$data['sign'] = $
exit(json_encode($data));
function argSort($para) {
ksort($para);
reset($para);
function sign($data) {
//读取私钥文件
$priKey = file_get_contents('../cert/rsa_private_key.pem');//私钥文件路径
//转换为openssl密钥,必须是没有经过pkcs8转换的私钥
$res = openssl_get_privatekey($priKey);
//调用openssl内置签名方法,生成签名$sign
openssl_sign($data, $sign, $res);
//释放资源
openssl_free_key($res);
//base64编码
$sign = base64_encode($sign);
* 支付宝支付
public function ali(){
//file_put_contents('ali.txt',var_export($_REQUEST, true));
$request = $_REQUEST;
if($request['trade_status'] == 'TRADE_SUCCESS'){
//说明支付宝返回支付成功,更新订单表中相关信息
//生成二维码图片
$png = $this-&order_scan($request['out_trade_no'],'../Uploads/scan/'.$request['out_trade_no'].'.png');
$order = D('order');
$order_exist = $order-&where(array('id'=&$request['out_trade_no']))-&find();
if($order_exist['status'] != 8){
$data = array();
$data['trade_no'] = $request['trade_no'];
$data['is_payed'] = 1;
$data['status'] = 2;
$data['order_scan'] = $
$data['payed_time'] = date('Y-m-d H:i:s');
$order_info = $order-&where(array('id'=&$request['out_trade_no']))-&save($data);
file_put_contents('sss.txt',var_export($order-&getLastSql(), true));
public function ali_notice(){
echo "success";
* 微信支付回调地址
public function wx(){
//file_put_contents('sssdfdfd.txt',var_export($GLOBALS["HTTP_RAW_POST_DATA"], true));
vendor('WxpayAPI.lib.WxPay#Api');
//file_put_contents('wx.txt',var_export($GLOBALS["HTTP_RAW_POST_DATA"], true));
$xml = $GLOBALS["HTTP_RAW_POST_DATA"];
$array = (array)simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);
$wxpay=new \WxPayApi();
$notify=new \WxPayNotifyReply();
$WxPayResults = new \WxPayResults();
$result= $WxPayResults-&Init($xml);//获取数据并转换为数组
$data = array(
$array['appid'],
$array['mch_id'],
'nonce_str'
$array['nonce_str'],
'result_code'
$array['result_code'],
$array['openid'],
'trade_type'
$array['trade_type'],
'bank_type'
$array['bank_type'],
'total_fee'
$array['total_fee'],
'cash_fee'
$array['cash_fee'],
'transaction_id'
$array['transaction_id'],
'out_trade_no'
$array['out_trade_no'],
'time_end'
$array['time_end'],
$array['sign']
//file_put_contents('sdf.txt',var_export($result, true));
if ($result['return_code']=='SUCCESS' && $result['result_code']=='SUCCESS') {//验签通过
// file_put_contents('ali.txt',var_export(222, true));
$out_trade_no = $array['out_trade_no'];
//生成二维码图片
$png = $this-&order_scan($out_trade_no,'../Uploads/scan/'.$out_trade_no.'.png');
$order = D('order');
$data = array();
$data['status'] = 2;
$data['payed_time'] = date('Y-m-d H:i:s');
$data['transaction_id'] = $array['transaction_id'];
$data['third_party_id'] = $array['openid'];
$data['order_scan'] = $
$data['is_payed'] = 1;
$res = $order-&where(array('id'=&$out_trade_no))-&save($data);
if ($res) {
$notify-&SetReturn_code('SUCCESS');
$notify-&SetReturn_msg('OK');
$notify-&SetSign();
$notify-&SetReturn_code('FAIL');
$notify-&SetReturn_msg('客户服务器错误');
$notify-&SetReturn_code('FAIL');
$notify-&SetReturn_msg('微信支付失败');
$wxpay-&replyNotify($notify-&ToXml());
6、退款接口开发 /**
* @param $trade_no
* @param $out_trade_no
* @param $transaction_id
* @param $total_fee
* @throws \WxPayException
public function wx_refund($trade_no,$out_trade_no,$transaction_id,$total_fee){
vendor('WxpayAPI.lib.WxPay#Api');
//$total_fee=1;
$refund_fee= $total_
$input = new \WxPayRefund();
$WxPayConfig = new \WxPayConfig();
$input-&SetTransaction_id($transaction_id);
$input-&SetOut_trade_no($out_trade_no);
$input-&SetTotal_fee($total_fee*100);
$input-&SetRefund_fee($refund_fee*100);
$input-&SetOut_refund_no($WxPayConfig::MCHID.date("YmdHis"));
$input-&SetOp_user_id($WxPayConfig::MCHID);
$info=\WxPayApi::refund($input);
if($info['return_code']=='SUCCESS'){
$order = D('order');
$order_info = $order-&where(array('id'=&$out_trade_no))-&save(array('status'=&8));
$data['result_code'] = C('API_CODE.SUCCESS');
$data['result_msg'] = C('API_CODE.SUCCESS_MSG');
$data['result_code'] = C('API_CODE.ERROR');
$data['result_msg'] = C('API_CODE.ERROR_MSG');
exit(json_encode($data));
* @param $trade_no
* @param $out_trade_no
* @param $total_fee
* @throws \Exception
public function ali_refund($trade_no,$out_trade_no,$total_fee){
//$total_fee = 0.01;
vendor('AlipayAPI.AopSdk');
$aop = new \AopClient();
$aop-&gatewayUrl = 'https://openapi.alipay.com/gateway.do';
$aop-&appId = '';
$aop-&rsaPrivateKeyFilePath = '../cert/rsa_private_key.pem';
$aop-&alipayPublicKey='../cert/alipay_public_key.pem';
$aop-&apiVersion = '1.0';
$aop-&postCharset='UTF-8';
$aop-&format='json';
$request = new \AlipayTradeRefundRequest();
$request-&setBizContent("{" .
\"out_trade_no\":\"$out_trade_no\"," .
\"trade_no\":\"$trade_no\"," .
\"refund_amount\":$total_fee" .
$result = $aop-&execute($request);
$responseNode = str_replace(".", "_", $request-&getApiMethodName()) . "_response";
$resultCode = $result-&$responseNode-&
if(!empty($resultCode)&&$resultCode == 10000){
$order = D('order');
$order_info = $order-&where(array('id'=&$out_trade_no))-&save(array('status'=&8));
$data['result_code'] = C('API_CODE.SUCCESS');
$data['result_msg'] = C('API_CODE.SUCCESS_MSG');
$data['result_code'] = C('API_CODE.ERROR');
$data['result_msg'] = C('API_CODE.ERROR_MSG');
exit(json_encode($data));
没有更多推荐了,您的浏览器版本太低,为保障信息的安全,
如何申请退款?
申请退款操作方法: 电脑端登录支付宝账户(
), 在【交易记录】中找到此笔交易,在【操作】下方选择【退款】按钮, 填写【退款说明】、【支付密码】并点击【申请退款】即可
淘宝交易相关的投诉与退款咨询。
以上内容是否解决了您的问题呢?
cshall-49-5025 & 0beede09_0_1律师加盟热线:400-678-6088
手机找法网
您的当前位置:&&&&&正文
支付宝买东西如何申请退款
支付宝买东西如何申请退款
提问者:wl0372***时间: 15:28:26地点:2个回答
请与支付宝客服联系
咨询客服吧.......
答:我感觉应当是谁付款退给谁。...
已帮助: 人
答:你好!关于这个问题,你可以要求快递那边给你出示签收单,用这个作为证据向买家解释,...
已帮助: 人
已帮助: 人
其他类似咨询
答: 可以直接去法院起诉,诉讼费根据标的按比例收费。
答: 您好!根据你说的情况,你这个还是属于民事纠纷,不归公安部门管理。建议先想办法找到
法律百科专题
热门知识推荐
最新咨询回复
回答:请问至今为止分居多久了?可以通过诉讼的方式起诉。
回答:房子是属于夫妻共同财产的,可以双方约定离婚后房子归你进行公证
回答:可以双方协商,约定为个人财产
回答:要看原告是否选择撤诉
回答:可以以合同纠纷向法院提起诉讼。
回答:这两个月是属于试用期吗?如果是在试用期,提前三天可以解除劳动合同。
回答:要赔偿医疗费,住院伙食补助费,营养费,误工费,伤残赔偿金,精神损害抚慰金
回答:可以申请追加驾校为共同被告。
回答:您好。贷款合同以及放款凭证上都有相应的约定,你不放心可以让她写。
回答:你好,可以离婚,依法分割共同财产,要求对方经济补偿
回答:你好,当时报警了么?发生交通事故,要及时报警报险,交警部门根据现场情况做
回答:要看伤情,如果构成轻伤可能会构成犯罪
回答:封拆后签定的合同不履行算是违约。
回答:这是会构成刑事犯罪的,容留他人吸毒罪
回答:你好,感情确实破裂,可以协议离婚或者诉讼离婚
回答:你好,净身出户没有法律上的依据
回答:你好,如果被起诉,可能会被列入黑名单
回答:你好,如果不合法,可以提出异议
回答:您好,向当地劳动局申请。
回答:可以提供证据材料,及时报警
回答:可以提供证据材料,及时报警
回答:建议可以考虑申请低保,可以申请享受城市低保的条件:
1、必须是持有本地非
回答:可以要求赔偿的。。。。。。。
回答:可以要求排除妨碍的。。。。。
回答:你做事了对方就要付钱。
回答:合同显失公正的,你可以向法院起诉请求撤销。
回答:被QQ的代练群骗了3000多现在应该怎么才可以追回,立即投诉
回答:你好,什么的意思的啊、???????????
回答:你好,高利贷的,不合法的
为您推荐地区及消费者权益专业律师、优质消费者权益法律咨询、优质消费者权益法律知识等内容,如果有法律纠纷寻求帮助,可以在线!
地区律师:
热门城市律师:
江西律师:
消费者权益专业律师:
消费者权益法律咨询:
消费者权益法律知识:支付宝支付-常用支付API详解(查询、退款、提现等) - 简书
支付宝支付-常用支付API详解(查询、退款、提现等)
所有的接口支持沙盒环境的测试
前面几篇文件详细介绍了 支付宝提现、扫码支付、条码支付、Wap支付、App支付
其中也断断续续的提到了一些接口。本片文章主要是总结支付宝支付中常用的一些接口
2、常用的接口总结
这里使用表格的方式列出
统一收单线下交易查询
提供所有支付宝支付订单的查询
统一收单交易退款接口
买家或者卖家的原因需要退款时
统一收单交易退款查询
查看退款请求是否执行成功
统一收单交易支付接口
将二维码或条码信息/声波信息通过本接口上送至支付宝发起支付。
统一收单线下交易预创建
二维码支付
统一收单交易撤销接口
统一收单交易创建接口
统一收单交易关闭接口
用于交易创建后,用户在一定时间内未进行支付时可以通过此接口关闭订单
统一收单交易结算接口
用于在线下场景交易支付后,进行结算
单笔转账到支付宝账户接口
支付宝提现
查询转账订单接口
提现结果查询
查询对账单下载地址
为方便商户快速查账
3、使用服务端SDK封装接口
3.1 服务端SDK下载及其使用方法
Maven项目引用JAR包可以参考
里面有详细的介绍
1、接口使用的编码格式为 UTF-8
2、接口数据交互使用的是 json
3、接口加密的模式使用官方推荐的 RSA2
4、本片文章主要是介绍Java的使用方法与封装
3.2 初始化SDK
在SDK调用前需要进行初始化
AlipayClient alipayClient = new DefaultAlipayClient(URL, APP_ID, APP_PRIVATE_KEY, FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, SIGN_TYPE);
关键参数说明:
示例值解释
获取方式/示例值
支付网关(固定)
正式环境: 沙箱环境:
APPID即创建应用后生成
获取见上面
APP_PRIVATE_KEY
开发者应用私钥,由开发者自己生成
获取详见上面
参数返回格式,只支持json
json(固定)
请求和签名使用的字符编码格式,支持GBK和UTF-8
开发者根据实际工程编码配置
ALIPAY_PUBLIC_KEY
支付宝公钥,由支付宝生成
获取详见上面
商户生成签名字符串所使用的签名算法类型,目前支持RSA2和RSA,推荐使用RSA2
3.3 API接口封装
3.3.1 接口封装
该接口提供所有支付宝支付订单的查询,商户可以通过该接口主动查询订单状态,完成下一步的业务逻辑。 需要调用查询接口的情况: 当商户后台、网络、服务器等出现异常,商户系统最终未接收到支付通知; 调用支付接口后,返回系统错误或未知交易状态情况; 调用alipay.trade.pay,返回INPROCESS的状态; 调用alipay.trade.cancel之前,需确认支付状态;
* 交易查询接口
* https://doc.open.alipay.com/docs/api.htm?spm=a219a..0.8H2JzG&docType=4&apiId=757
* @param bizContent
* @throws AlipayApiException
public static boolean isTradeQuery(AlipayTradeQueryModel model) throws AlipayApiException{
AlipayTradeQueryResponse response = tradeQuery(model);
if(response.isSuccess()){
public static AlipayTradeQueryResponse
tradeQuery(AlipayTradeQueryModel model) throws AlipayApiException{
AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();
request.setBizModel(model);
return alipayClient.execute(request);
当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退还给买家,支付宝将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家帐号上。 交易超过约定时间(签约时设置的可退款时间)的订单无法进行退款 支付宝退款支持单笔交易分多次退款,多次退款需要提交原支付订单的商户订单号和设置不同的退款单号。一笔退款失败后重新提交,要采用原来的退款单号。总退款金额不能超过用户实际支付金额
* https://doc.open.alipay.com/docs/api.htm?spm=a219a..0.SAyEeI&docType=4&apiId=759
* @param content
* @throws AlipayApiException
public static String tradeRefund(AlipayTradeRefundModel model) throws AlipayApiException{
AlipayTradeRefundResponse response = tradeRefundToResponse(model);
return response.getBody();
public static AlipayTradeRefundResponse tradeRefundToResponse(AlipayTradeRefundModel model) throws AlipayApiException{
AlipayTradeRefundRequest request = new AlipayTradeRefundRequest();
request.setBizModel(model);
return alipayClient.execute(request);
商户可使用该接口查询自已通过alipay.trade.refund提交的退款请求是否执行成功。 该接口的返回码10000,仅代表本次查询操作成功,不代表退款成功。如果该接口返回了查询数据,则代表退款成功,如果没有查询到则代表未退款成功,可以调用退款接口进行重试。重试时请务必保证退款请求号一致。
* 退款查询
* https://doc.open.alipay.com/docs/api.htm?spm=a219a..0.KQeTSa&apiId=1049&docType=4
* @param model
* @throws AlipayApiException
public static String tradeRefundQuery(AlipayTradeFastpayRefundQueryModel model) throws AlipayApiException{
AlipayTradeFastpayRefundQueryResponse response = tradeRefundQueryToResponse(model);
return response.getBody();
public static AlipayTradeFastpayRefundQueryResponse tradeRefundQueryToResponse(AlipayTradeFastpayRefundQueryModel model) throws AlipayApiException{
AlipayTradeFastpayRefundQueryRequest request = new AlipayTradeFastpayRefundQueryRequest();
request.setBizModel(model);
return alipayClient.execute(request);
3.3.4 接口封装
收银员使用扫码设备读取用户手机支付宝“付款码”/声波获取设备(如麦克风)读取用户手机支付宝的声波信息后,将二维码或条码信息/声波信息通过本接口上送至支付宝发起支付。
* 条形码支付、声波支付
* https://doc.open.alipay.com/docs/api.htm?spm=a219a..0.XVqALk&apiId=850&docType=4
* @param notifyUrl
* @throws AlipayApiException
public static String tradePay(AlipayTradePayModel model, String notifyUrl) throws AlipayApiException {
AlipayTradePayResponse response = tradePayToResponse(model,notifyUrl);
return response.getBody();
public static AlipayTradePayResponse tradePayToResponse(AlipayTradePayModel model, String notifyUrl) throws AlipayApiException{
AlipayTradePayRequest request = new AlipayTradePayRequest();
request.setBizModel(model);// 填充业务参数
request.setNotifyUrl(notifyUrl);
return alipayClient.execute(request); // 通过alipayClient调用API,获得对应的response类
收银员通过收银台或商户后台调用支付宝接口,生成二维码后,展示给用户,由用户扫描二维码完成订单支付。
* 扫码支付
* https://doc.open.alipay.com/docs/doc.htm?spm=a219a..0.i0UVZn&treeId=193&articleId=105170&docType=1#s4
* @param notifyUrl
* @throws AlipayApiException
public static String tradePrecreatePay(AlipayTradePrecreateModel model, String notifyUrl) throws AlipayApiException{
AlipayTradePrecreateResponse response = tradePrecreatePayToResponse(model,notifyUrl);
return response.getBody();
public static AlipayTradePrecreateResponse tradePrecreatePayToResponse(AlipayTradePrecreateModel model, String notifyUrl) throws AlipayApiException{
AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest();
request.setBizModel(model);
request.setNotifyUrl(notifyUrl);
return alipayClient.execute(request);
支付交易返回失败或支付系统超时,调用该接口撤销交易。如果此订单用户支付失败,支付宝系统会将此订单关闭;如果用户支付成功,支付宝系统会将此订单资金退还给用户。 注意:只有发生支付系统超时或者支付结果未知时可调用撤销,其他正常支付的单如需实现相同功能请调用申请退款API。提交支付交易后调用【查询订单API】,没有明确的支付结果再调用【撤销订单API】。
* 交易撤销接口
* https://doc.open.alipay.com/docs/api.htm?spm=a219a..0.XInh6e&docType=4&apiId=866
* @param bizContent
* @throws AlipayApiException
public static boolean isTradeCancel(AlipayTradeCancelModel model) throws AlipayApiException{
AlipayTradeCancelResponse response = tradeCancel(model);
if(response.isSuccess()){
public static AlipayTradeCancelResponse tradeCancel(AlipayTradeCancelModel model) throws AlipayApiException{
AlipayTradeCancelRequest request = new AlipayTradeCancelRequest();
request.setBizModel(model);
AlipayTradeCancelResponse response = alipayClient.execute(request);
商户通过该接口进行交易的创建下单
* 统一收单交易创建接口
* https://doc.open.alipay.com/docs/api.htm?spm=a219a..0.21yRUe&apiId=1046&docType=4
* @param model
* @param notifyUrl
* @throws AlipayApiException
public static AlipayTradeCreateResponse tradeCreate(AlipayTradeCreateModel model, String notifyUrl) throws AlipayApiException{
AlipayTradeCreateRequest request = new AlipayTradeCreateRequest();
request.setBizModel(model);
request.setNotifyUrl(notifyUrl);
return alipayClient.execute(request);
用于交易创建后,用户在一定时间内未进行支付,可调用该接口直接将未付款的交易进行关闭。
* 关闭订单
* https://doc.open.alipay.com/docs/api.htm?spm=a219a..0.21yRUe&apiId=1058&docType=4
* @param model
* @throws AlipayApiException
public static boolean isTradeClose(AlipayTradeCloseModel model) throws AlipayApiException{
AlipayTradeCloseResponse response = tradeClose(model);
if(response.isSuccess()){
public static AlipayTradeCloseResponse tradeClose(AlipayTradeCloseModel model) throws AlipayApiException{
AlipayTradeCloseRequest request = new AlipayTradeCloseRequest();
request.setBizModel(model);
return alipayClient.execute(request);
3.3.9 接口封装
用于在线下场景交易支付后,进行结算
* 交易结算接口
* https://doc.open.alipay.com/docs/api.htm?spm=a219a..0.nl0RS3&docType=4&apiId=1147
* @param bizContent
* @throws AlipayApiException
public static boolean isTradeOrderSettle(AlipayTradeOrderSettleModel model) throws AlipayApiException{
AlipayTradeOrderSettleResponse
= tradeOrderSettle(model);
if(response.isSuccess()){
public static AlipayTradeOrderSettleResponse tradeOrderSettle(AlipayTradeOrderSettleModel model) throws AlipayApiException{
AlipayTradeOrderSettleRequest request = new AlipayTradeOrderSettleRequest();
request.setBizModel(model);
return alipayClient.execute(request);
3.3.10 接口封装
3.3.11 接口封装
为方便商户快速查账,支持商户通过本接口获取商户离线账单下载地址
* 查询对账单下载地址
* @param bizContent
* @throws AlipayApiException
public static String billDownloadurlQuery(AlipayDataDataserviceBillDownloadurlQueryModel model) throws AlipayApiException{
AlipayDataDataserviceBillDownloadurlQueryResponse response =
billDownloadurlQueryToResponse(model);
return response.getBillDownloadUrl();
public static AlipayDataDataserviceBillDownloadurlQueryResponse
billDownloadurlQueryToResponse (AlipayDataDataserviceBillDownloadurlQueryModel model) throws AlipayApiException{
AlipayDataDataserviceBillDownloadurlQueryRequest request = new AlipayDataDataserviceBillDownloadurlQueryRequest();
request.setBizModel(model);
return alipayClient.execute(request);
4、异步通知封装
将异步通知的参数转化为Map为验签做准备
* 将异步通知的参数转化为Map
* @param request
public static Map&String, String& toMap(HttpServletRequest request) {
System.out.println("&&&&" + request.getQueryString());
Map&String, String& params = new HashMap&String, String&();
Map&String, String[]& requestParams = request.getParameterMap();
for (Iterator&String& iter = requestParams.keySet().iterator(); iter.hasNext();) {
String name = (String) iter.next();
String[] values = (String[]) requestParams.get(name);
String valueStr = "";
for (int i = 0; i & values. i++) {
valueStr = (i == values.length - 1) ? valueStr + values[i] : valueStr + values[i] + ",";
// 乱码解决,这段代码在出现乱码时使用。
// valueStr = new String(valueStr.getBytes("ISO-8859-1"), "utf-8");
params.put(name, valueStr);
使用AlipaySignature.rsaCheckV1(....)接口进行验证签名
public void notify_url() {
// 获取支付宝POST过来反馈信息
Map&String, String& params = AliPayApi.toMap(getRequest());
for (Map.Entry&String, String& entry : params.entrySet()) {
System.out.println(entry.getKey() + " = " + entry.getValue());
boolean verify_result = AlipaySignature.rsaCheckV1(params, AliPayApi.ALIPAY_PUBLIC_KEY, AliPayApi.CHARSET,
AliPayApi.SIGN_TYPE);
if (verify_result) {// 验证成功
// TODO 请在这里加上商户的业务逻辑程序代码 异步通知可能出现订单重复通知 需要做去重处理
System.out.println("notify_url 验证成功succcess");
renderText("success");
System.out.println("notify_url 验证失败");
renderText("failure");
} catch (AlipayApiException e) {
e.printStackTrace();
renderText("failure");
此项目已开源欢迎Start、PR、发起Issues一起讨论交流共同进步
专注Android、微信开发。公众号javenlife
最近做系统,需要实现在线支付功能,毫不犹豫,选择的是支付宝的接口支付功能。这里我用的是即时到帐的接口,具体实现的步骤如下: 一、下载支付宝接口包 下载地址: https://b.alipay.com/order/productDetail.htm?productId=201...
支付宝简介文档 (适用于ydm-java接口与后台,如有误入,但愿也能给您带来帮助) 此文档写于2017年3月,只能说明此时该文档适用。使用前请查看以下接口支付宝是否提供。 App支付产品 批量付款到支付宝账户 (链接如有发生变化,请在官方文档中寻找此产品,一般情况下,产品...
现支付宝的通知有两类。A服务器通知,对应的参数为notify_url,支付宝通知使用POST方式B页面跳转通知,对应的参数为return_url,支付宝通知使用GET方式 (通知地址不需要像以前一样去账户内设置,而是由客户在支付的时候通过参数传递给我地址。 例如 notif...
1、App支付简介 买家在手机、掌上电脑等无线设备的应用程序内,可通过支付宝进行付款购买特定服务或商品,资金即时到账。 2、App支付申请条件 1.申请前必须拥有经过实名认证的支付宝账户;2.企业或个体工商户可申请;3.需提供真实有效的营业执照,且支付宝账户名称需与营业执照...
在开发商城网站时需要使用第三方支付网关,业界以支付宝和微信支付更为可靠,支付宝属于第三方支付担保平台,提供了如支付,退款,订单查询和商户账单查询等功能。 支付退款流程 注意1: returnUrl:returnUrl在支付请求参数中提供给支付宝网关(步骤1.1),然后由支付...
导语 日本摄影师星野道夫在《在漫长的旅途》中说过:“孩提时代看过的风景,会长留在脑海中,直至成人后面对人生的分岔路时,给予我们鼓励与勇气的,可能不是谁曾说过的话,而是那曾经看到的风景”。我们也在努力地挑选最符合实情、最可行也最精彩、最有意义的境外亲子游线路。 2016年帕劳...
早上带着宝宝去菜市场卖菜,虽说今天是大年三十了,外面的景象却与平常无异。摊饼的小哥还在忙碌着。旁边卖泥鳅的大妈还是坐在原来的位置等待来来往往的人驻足询价。再往隔壁卖鸡的大哥正在与顾客商量价格。前方摆在地上的还是那几样青菜,卖菜的大姐正注视着过往的人群,希望有人能挑上几把.....
这几天到处都是关于白百何出轨的消息,被卓伟爆出的和小鲜肉水上幽会以及路边摸臀的视频,直接颠覆了很多人对白百何的认知。有人震惊于白百何的婚内出轨,有人却同情她的无人疼惜。在某一方面,单从卓伟爆的料和观众的各种猜测,根本无法知道真实的情况。另外,白百何当下可以说红得发紫,应该不...
在法华研讨会上,佛陀曾经畅谈本怀:出现于世间,是开示悟入佛之知见。简言之,让遇到的一切有缘人觉悟。 各种研讨会的开示报道,就是佛经,出版出来,可谓卷帙浩繁。但是在金刚般若研讨会上,佛陀说,这些不过是渡船,上岸了就要扔在身后。 佛经记载佛法,佛法到底是什么?是工具。工具是拿来...

我要回帖

更多关于 支付宝申请退款接口 的文章

 

随机推荐