支付宝退款流程

摘要:
当交易后一段时间内买方或卖方要求退款时,卖方可以通过退款界面将款项退还给买方,支付宝将在收到退款请求并验证成功后根据退款规则将款项退还至买方账户。如果交易超过约定时间,支付宝退款支持单笔交易的多次退款。对于多次退款,需要提交原始付款订单的商户订单号,并设置不同的退款订单号。如果退款未能重新提交,应使用原始退款订单编号。

当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退还给买家,支付宝将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家帐号上。 交易超过约定时间(签约时设置的可退款时间)的订单无法进行退款 支付宝退款支持单笔交易分多次退款,多次退款需要提交原支付订单的商户订单号和设置不同的退款单号。一笔退款失败后重新提交,要采用原来的退款单号。总退款金额不能超过用户实际支付金额

官方文档:https://docs.open.alipay.com/api_1/alipay.trade.refund

参考代码:

from alipay import AliPay
from urllib2 import  urlopen
import os
class AliPayNew(AliPay):
    def api_alipay_trade_refund(self, refund_amount, out_trade_no=None, trade_no=None, **kwargs):#原方法存故障,重写该方法
        biz_content = {
            "refund_amount": refund_amount
        }
        biz_content.update(**kwargs)
        if out_trade_no:
            biz_content["out_trade_no"] = out_trade_no
        if trade_no:
            biz_content["trade_no"] = trade_no
        data = self.build_body("alipay.trade.refund", biz_content)
        url = self._gateway + "?" + self.sign_data(data)
        raw_string = urlopen(url, timeout=15).read().decode("utf-8")
        return raw_string


ssh_keys_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), "ssh_keys")
app_private_key_path = os.path.join(ssh_keys_path, "app_private_key.pem") #指定证书路径
alipay_public_key_path = os.path.join(ssh_keys_path, "app_public_key.pem")

appid = "AliPayAPPID"
alipay = AliPayNew(appid=appid, app_private_key_path = app_private_key_path,
                alipay_public_key_path = alipay_public_key_path, sign_type = 'RSA2',
                app_notify_url = None) 

notify_url = "http://{0}/app/alipayrefund/callback" #回调函数URL
order_string = alipay.api_alipay_trade_refund(
    out_trade_no="out_trade_no",
    refund_amount="refund_amount",
    notify_url=notify_url
)
print order_string #打印结果

#上面的相关参数可以支付宝开发文档找到,填写相应参数即可

 

免责声明:文章转载自《支付宝退款流程》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【Unity】经验汇总uniapp——点击图片放大预览下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

支付宝支付api

支付宝api: 下载alipay支付接口demo: AlipayDemo 使用支付宝支付需要有个商户号,这个商户号必须是企业申请,并且需要企业的营业执照:申请完了会给你个商户号 (一串数字)   沙箱环境(沙箱环境) https://openhome.alipay.com/platform/appDaily.htm?tab=info 点击支付后会向支付宝...

支付宝回调

1 //这个是支付宝回调的信息 2 @RequestMapping("alipay_callback.do") 3 @ResponseBody 4 publicObject alipayCallback(HttpServletRequest request){ 5 Map<String,String> p...

[转]将微信和支付宝支付的个二维码合二为一

本文转自:https://blog.csdn.net/woshishuiaaad/article/details/53540933 因公司需要将支付宝和微信的二维码合成一个,不管用户用支付宝扫还是微信扫都能打开对应的支付页面,在网上找了一些文章,很感谢各位大神的经验,我也记录下我是如何将两个二维码合二为一的~。 原理:支付宝或微信生成的二维码中本质都内嵌了...

支付宝手机网站支付开发指引

支付宝手机网站支付 支付宝手机网站支付是支付宝提供的多种支付方式之一。适用于在手机端网站配合业务流程完成支付宝支付。此接口不仅可以在手机网页中唤起“支付宝app”客户端。也可以继续使用手机浏览器版的收银台完成支付。 一、前期准备1.1签约“手机网站支付”功能。 使用手机网站支付之前需要签约改接口。签约需要到支付宝商家平台进行操作。页面右上角有个签约按钮。登...

学生如何利用支付宝进行异地转账

我们都知道,学生在外读书,父母给我们寄学费和生活费是难免的,如果按照正常的银行转账或者汇款,一年下来会有不少的手续费,可是有了支付宝,从此我们无需再花一分钱手续费。我 们可以办理两张邮政储蓄银行的借记卡(有两个原因,第一,这种卡无年费,第二,提现可以实时到账,其他卡没有这种优点),如果父母不会在网上操作完全没有 关系,第一张卡可以在家庭所在地办理,然后开通...

DELPHI支付宝支付代码

  真实业务场景的考虑 按照支付宝或者微信支付的开发手册的说法,一个标准的客户端接入支付业务模型应该是这样的,我忽略时序图,只用文字描述: 用户登录客户端,选择商品,然后点击客户端支付。 客户端收集商品信息,然后调用自己业务平台的预付款接口。 业务平台根据客户端提交的商品信息,生成自己的订单号等内容,并按照第三方支付的要求对订单信息进行拼装组合,并编码和...