C#开发微信门户及应用(35)--微信支付之企业付款封装操作
微信支付之企业付款封装操作
在前面几篇随笔中,我们已经介绍了微信支付及红包相关的内容。然而,支付部分的内容还有很多,例如企业付款、公众号支付或刷卡支付、摇一摇红包、代金券等方面的内容。这都是微信接口支持的内容。本篇将继续微信支付这一主题,详细描述微信支付之企业付款封装操作。
企业付款概述
企业付款是微信支付提供的一种在线支付方式,允许企业向个人或其他企业进行在线转账。这种支付方式非常方便和快捷,可以节省大量的时间和成本。
企业付款流程
企业付款的流程如下:
1. 商户端:商户在微信支付平台上创建一个企业付款订单,填写相关信息,如付款金额、付款人姓名等。
2. 微信支付平台:微信支付平台接收到商户的请求后,进行必要的校验和处理。
3. 个人或企业端:个人或企业收到微信支付平台发来的付款通知后,可以选择是否接受付款。
4. 付款完成:如果个人或企业同意接受付款,则付款金额将被转账至其指定银行卡。
微信支付之企业付款封装操作
为了方便开发者使用微信支付的企业付款功能,我们提供了一个封装好的API接口。以下是具体的实现步骤:
Step1: 初始化微信支付平台
首先,需要在商户端初始化微信支付平台,获取相关的APPID和SECRET_KEY。
```csharpusing System;
using System.Net.Http;
using System.Text.Json;
using Microsoft.Extensions.Configuration;
public class WeChatPayPlatform{
private readonly string _appId;
private readonly string _secretKey;
public WeChatPayPlatform(IConfiguration configuration)
{
_appId = configuration["WeChat:AppId"];
_secretKey = configuration["WeChat:SecretKey"];
}
public async Task
{
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, $" var response = await client.SendAsync(request);
if (response.IsSuccessStatusCode)
{
return await response.Content.ReadAsStringAsync();
}
else {
throw new Exception($"Failed to get access token: {response.StatusCode}");
}
}
}
```
Step2: 创建企业付款订单
接下来,需要在商户端创建一个企业付款订单。
```csharppublic class EnterprisePayOrder{
public string OutTradeNo { get; set; }
public decimal TotalFee { get; set; }
public string PayerName { get; set; }
public async Task
{
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, $" platform.GetAccessTokenAsync()}")
{
Content = new StringContent(JsonSerializer.Serialize(this), Encoding.UTF8, "application/json")
};
var response = await client.SendAsync(request);
if (response.IsSuccessStatusCode)
{
return await response.Content.ReadAsStringAsync();
}
else {
throw new Exception($"Failed to create enterprise pay order: {response.StatusCode}");
}
}
}
```
Step3: 支付完成
最后,需要在个人或企业端支付完成后,将付款金额转账至其指定银行卡。
```csharppublic class PayResult{
public string TradeType { get; set; }
public decimal TotalFee { get; set; }
public async Task
{
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, $" platform.GetAccessTokenAsync()}")
{
QueryParameters =
{
["trade_type"] = TradeType,
["total_fee"] = TotalFee }
};
var response = await client.SendAsync(request);
if (response.IsSuccessStatusCode)
{
return await response.Content.ReadAsStringAsync();
}
else {
throw new Exception($"Failed to pay: {response.StatusCode}");
}
}
}
```
以上就是微信支付之企业付款封装操作的具体实现步骤。通过这些步骤,开发者可以方便地使用微信支付的企业付款功能。