iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#实现支付宝沙箱支付的项目实践
  • 319
分享到

C#实现支付宝沙箱支付的项目实践

2024-04-02 19:04:59 319人浏览 薄情痞子
摘要

目录一,准备沙箱环境二,认识官方提供的Demo示例三,编写一个asp.net的程序四,开始测试一,准备沙箱环境 1,登录支付宝,进入 应用列表界面 https://openhome.

一,准备沙箱环境

1,登录支付宝,进入 应用列表界面 https://openhome.alipay.com/dev/workspace

2,如下图选择进入沙箱

在这里插入图片描述

进入如下页面:

在这里插入图片描述

1,这里的APPID很有用
2,在这里只测试网页支付,用系统默认的密钥
3,查看公钥有如下界面:

在这里插入图片描述

需要用到的是应用私钥(非JAVA)和支付宝公钥

二,认识官方提供的Demo示例

1,下载demo示例
进入网页 Https://opendocs.alipay.com/open/270/106291

在这里插入图片描述

下载.net版的demo,如下:

在这里插入图片描述

在这里插入图片描述

App_Code下有Config.cs文件

在这里插入图片描述

关于参数:
1,app_id 就填写沙箱界面的APPID
2,需要将gatewayUrl 改为:https://openapi.alipaydev.com/gateway.do 这才是测试版本
3,商户私钥 复制沙箱界面系统默认密钥的 应用私钥
4,支付宝公钥 复制沙箱界面的支付宝公钥

在这里插入图片描述

  • wappay里是具体的调用api接口
  • wappay是发送调用支付接口
  • close是关闭订单接口
  • query是查询订单接口
  • refund是退款接口

三,编写一个ASP.NET的程序

1,创建ASP.NET WEB项目
2,解决方案导入Demo示例中的aopSdk模块,如下:

在这里插入图片描述

3,前台代码:

<table>
                <tr>
                    <td>订单名称:</td>
                    <td>
                        <asp:TextBox ID="tbxOrderName" runat="server"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td>订单金额:</td>
                    <td>
                        <asp:TextBox ID="tbxOrderAmount" runat="server"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td>订单描述:</td>
                    <td>
                        <asp:TextBox ID="tbxOrderDesc" runat="server"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td colspan="2">
                        <asp:Button ID="btn" runat="server" Text="支付"  OnClick="btn_Click"/>
                    </td>
                </tr>
            </table>

4,后台代码:

// 应用ID,您的APPID           
        public static string app_id = "20210******";
        // 支付宝网关
        public static string gatewayUrl = "https://openapi.alipaydev.com/gateway.do";
        // 商户私钥,您的原始格式RSA私钥
        public static string private_key = "MIIE******";
        // 支付宝公钥,查看地址:https://openhome.alipay.com/platfORM/keyManage.htm 对应APPID下的支付宝公钥。
        public static string alipay_public_key = "MIIBI******";
        // 签名方式
        public static string sign_type = "RSA2";
        // 编码格式
        public static string charset = "UTF-8";

        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void btn_Click(object sender, EventArgs e)
        {
            DefaultAopClient client = new DefaultAopClient(gatewayUrl, app_id, private_key, "JSON", "1.0", sign_type, alipay_public_key, charset, false);

            // 外部订单号,商户网站订单系统中唯一的订单号
            string out_trade_no = DateTime.Now.ToString("yyyyMMddHHmmss");
            // 订单名称
            string subject = this.tbxOrderName.Text;
            // 付款金额
            string total_amout = this.tbxOrderAmount.Text;
            // 商品描述
            string body = this.tbxOrderDesc.Text;
            // 支付中途退出返回商户网站地址
            string quit_url = "https://localhost:44334/PayFailed.aspx?tradeNo=" + out_trade_no;
            // 支付成功返回商户网站页面
            string return_url = "https://localhost:44334/PaySuccess.aspx?tradeNo=" + out_trade_no;
            // 设置支付完成异步通知接收地址
            string notify_url = "https://localhost:44334/Notify.aspx";

            // 组装业务参数model
            AlipayTradeWapPayModel model = new AlipayTradeWapPayModel();
            model.Body = body;
            model.Subject = subject;
            model.TotalAmount = total_amout;
            model.OutTradeNo = out_trade_no;
            model.ProductCode = "QUICK_WAP_WAY";
            model.QuitUrl = quit_url;

            AlipayTradeWapPayRequest request = new AlipayTradeWapPayRequest();
            // 设置支付完成同步回调地址
            request.SetReturnUrl(return_url);
            // 设置支付完成异步通知接收地址
            request.SetNotifyUrl(notify_url);
            // 将业务model载入到request
            request.SetBizModel(model);

            AlipayTradeWapPayResponse response = null;
            try
            {
                response = client.pageExecute(request, null, "post");
                Response.Write(response.Body);
            }
            catch (Exception exp)
            {
                throw exp;
            }

说明:
1,这里的app_id等配置,就是来源于 Demo示例中的config.cs文件 需要从自己的支付宝沙箱中将相应的值复制进来
2,https://localhost:44334 这个地址和端口号是当前自己的项目的端口号
3,分别建立PaySuccess.aspx PayFailed.aspx 两个个窗体 分别用于支付成功和失败的跳转页面
4,Notify.aspx用于支付成功的异步通知用,可以不加

四,开始测试

在这里插入图片描述

调用成功,则进入如下界面

在这里插入图片描述

点击继续浏览器付款

在这里插入图片描述

点击支付宝账号登录

在这里插入图片描述

注意!这里不是真实的支付宝账号,需要用沙箱环境的支付宝账号,在沙箱界面中找:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

支付成功后,点击右上角完成,则进入代码中设定的PaySuccess.aspx页面,同时也将订单编号等信息带过去。

在这里插入图片描述

至此,模拟支付成功,更多相关C# 支付宝沙箱支付内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C#实现支付宝沙箱支付的项目实践

本文链接: https://www.lsjlt.com/news/148440.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#实现支付宝沙箱支付的项目实践
    目录一,准备沙箱环境二,认识官方提供的Demo示例三,编写一个ASP.NET的程序四,开始测试一,准备沙箱环境 1,登录支付宝,进入 应用列表界面 https://openhome....
    99+
    2024-04-02
  • Golang实现支付宝沙箱支付的方法步骤
    首先我使用的是 gin 作为我的后端框架,我们先设定好几个接口。 func main() { r := gin.Default() r.GET("/pay", too...
    99+
    2023-05-16
    Golang 支付宝沙箱支付 Golang 支付宝支付
  • SpringBoot集成支付宝沙箱支付的实现示例
    目录开发前准备1、密钥工具2、沙箱环境3、内网穿透工具代码集成1、Java SDK2、支付宝配置3、支付和回调接口4、前端Vue调用开发前准备 1、密钥工具 在线工具地址:https...
    99+
    2024-04-02
  • Vue+SpringBoot实现支付宝沙箱支付的示例代码
    首先去下载支付宝沙箱的一系列东西,具体的配置什么的我就不说了,有很多博客都讲了,还有蚂蚁金服官方也说的很详细,我就直接说怎么样把后端的支付页面显示到Vue前端来: 在你配置好Ali...
    99+
    2024-04-02
  • vue项目中的支付功能实现(微信支付和支付宝支付)
    目录项目中常见的支付方式    支付宝支付微信支付项目中常见的支付方式     支付宝支付  &nbs...
    99+
    2024-04-02
  • java对接支付宝支付项目怎么实现
    本篇内容主要讲解“java对接支付宝支付项目怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java对接支付宝支付项目怎么实现”吧!java对接支付宝支付演示现在有不少的项目都需要对接支付...
    99+
    2023-07-02
  • 如何进行vue项目中的支付功能实现(微信支付和支付宝支付)
    如何进行vue项目中的支付功能实现(微信支付和支付宝支付),针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。项目中常见的支付方式    支付宝支付...
    99+
    2023-06-22
  • java对接支付宝支付项目的实战记录
    目录java对接支付宝支付演示成功演示图讲解一下实际支付的时候所需要的参数吧总结java对接支付宝支付演示 现在有不少的项目都需要对接支付,这里主要是进行讲解对接支付宝H5支付 废话...
    99+
    2024-04-02
  • Java利用沙箱支付实现电脑扫码支付教程
    目录一、准备工作二、效果展示三、实现代码3.1 后台代码3.2 前台代码一、准备工作 1、注册支付宝开放平台账号,成为开发者。 地址:https://open.alipay.com/...
    99+
    2024-04-02
  • Java如何利用沙箱支付实现电脑扫码支付
    这篇文章将为大家详细讲解有关Java如何利用沙箱支付实现电脑扫码支付,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、准备工作注册支付宝开放平台账号,成为开发者。地址:https://open.alipa...
    99+
    2023-06-29
  • 如何用php实现支付宝支付
    这篇文章主要讲解了“如何用php实现支付宝支付”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用php实现支付宝支付”吧!用php实现支付宝支付的方法:1、扫码登录支付宝开放平台注册;2、...
    99+
    2023-06-21
  • python3wechatpy微信支付的项目实践
    目录1.公众号申请及配置流程2.python wechatpy操作记录一下微信支付整个流程 1.公众号申请及配置流程 使用微信支付的前提是必须要有公众号。 申请链接: 微信公众号申请...
    99+
    2023-01-18
    python3 wechatpy微信支付 python3 微信支付
  • Vue如何实现支付宝支付功能
    这篇文章主要介绍了Vue如何实现支付宝支付功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。先给大家上个效果图: <div&...
    99+
    2024-04-02
  • java实现支付宝支付接口的调用
    目录1.准备工作2.获取Demo (JAVA版)3.导入本地运行测试1.准备工作 第一步就是先要注册一个支付宝的账号(注册这里不说,不是重点),然后登入官方首页,去到应用列表里面找到...
    99+
    2024-04-02
  • uniapp如何实现支付宝支付的功能
    随着移动互联网的飞速发展,人们越来越依赖于手机支付。而支付宝是其中使用最广泛的支付方式之一。在移动应用中,如果要进行支付宝支付的功能开发,那么使用uniapp框架就是一个非常好的选择。本文将介绍uniapp如何实现支付宝支付的功能。一、准备...
    99+
    2023-05-14
  • 如何在PHP中实现支付宝支付
    随着电子商务的不断发展,各种在线支付方式也在不断涌现。支付宝作为国内普及度最高的支付方式之一,已经成为很多电商企业不可或缺的一部分。本文将介绍如何在PHP中实现支付宝支付的功能。一、注册支付宝开发平台账号在开始之前,我们需要注册一个支付宝开...
    99+
    2023-05-20
    PHP 实现 支付宝支付
  • thinkphp6项目的支付宝手机网页支付接入
    搞了两天,踩了一大堆坑,终于对接好支付宝的支付了,下面记录 一下最近对接的心得。 先说效果,我建立了一个控制器,方法pay,传入订单ID,就可以支付这个订单了,回调建立方法,notify_url,有了...
    99+
    2023-09-03
    服务器 php
  • React Native集成支付宝支付的实现方法
    在RN应用开发过程中,集成支付宝和微信支付除了直接使用第三方的插件之,比如:react-native-yunpeng-alipay,我们还可以借助RN提供的NativeModules...
    99+
    2024-04-02
  • 一篇文章带你入门Springboot沙箱环境支付宝支付(附源码)
    目录0.前言1.效果展示2.技术栈介绍3.前期准备第一步:申请一个沙箱测试账号第二步:电脑下载一个支付宝提供的客户端用于生成RSA2第三步:手机下载 【沙箱版支付宝】4.后端搭建项目...
    99+
    2024-04-02
  • Java支付宝沙箱环境支付,SDK接口远程调试【内网穿透】
    转发自CSDN远程穿透的文章:Java支付宝沙箱环境支付,SDK接口远程调试【内网穿透】 1.测试环境 Maven Spring boot Jdk 1.8 2.本地配置 获取支付宝支付Java SDK,maven项目可以选择m...
    99+
    2023-08-31
    java maven spring
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作