Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mall.oytour.com
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄奎
mall.oytour.com
Commits
4f11ca23
Commit
4f11ca23
authored
Oct 12, 2022
by
liudong1993
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
5aa994d1
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
3274 additions
and
0 deletions
+3274
-0
RB_Goods_Online_Trade.cs
Mall.Model/Entity/Product/RB_Goods_Online_Trade.cs
+15
-0
RB_Trade_Config.cs
Mall.Model/Extend/Education/RB_Trade_Config.cs
+84
-0
UserCommonModule.cs
Mall.Module.User/UserCommonModule.cs
+144
-0
RB_Trade_ConfigRepository.cs
Mall.Repository/Education/RB_Trade_ConfigRepository.cs
+45
-0
CoreUtils.cs
Mall.ThirdCore/Adapay/AdapayCore/CoreUtils.cs
+81
-0
MerConfig.cs
Mall.ThirdCore/Adapay/AdapayCore/MerConfig.cs
+23
-0
NetUtils.cs
Mall.ThirdCore/Adapay/AdapayCore/NetUtils.cs
+371
-0
StringUtils.cs
Mall.ThirdCore/Adapay/AdapayCore/StringUtils.cs
+50
-0
Account.cs
Mall.ThirdCore/Adapay/AdapaySDK/Account.cs
+35
-0
Adapay.cs
Mall.ThirdCore/Adapay/AdapaySDK/Adapay.cs
+162
-0
AdapayTools.cs
Mall.ThirdCore/Adapay/AdapaySDK/AdapayTools.cs
+65
-0
Checkout.cs
Mall.ThirdCore/Adapay/AdapaySDK/Checkout.cs
+62
-0
ConfigConstant.cs
Mall.ThirdCore/Adapay/AdapaySDK/ConfigConstant.cs
+276
-0
CorpMember.cs
Mall.ThirdCore/Adapay/AdapaySDK/CorpMember.cs
+70
-0
Drawcash.cs
Mall.ThirdCore/Adapay/AdapaySDK/Drawcash.cs
+55
-0
FastPay.cs
Mall.ThirdCore/Adapay/AdapaySDK/FastPay.cs
+132
-0
FreezeAccount.cs
Mall.ThirdCore/Adapay/AdapaySDK/FreezeAccount.cs
+59
-0
Member.cs
Mall.ThirdCore/Adapay/AdapaySDK/Member.cs
+126
-0
Payment.cs
Mall.ThirdCore/Adapay/AdapaySDK/Payment.cs
+146
-0
PaymentConfirm.cs
Mall.ThirdCore/Adapay/AdapaySDK/PaymentConfirm.cs
+100
-0
PaymentReverse.cs
Mall.ThirdCore/Adapay/AdapaySDK/PaymentReverse.cs
+92
-0
Refund.cs
Mall.ThirdCore/Adapay/AdapaySDK/Refund.cs
+59
-0
SettleAccount.cs
Mall.ThirdCore/Adapay/AdapaySDK/SettleAccount.cs
+146
-0
Transfer.cs
Mall.ThirdCore/Adapay/AdapaySDK/Transfer.cs
+55
-0
UnFreezeAccount.cs
Mall.ThirdCore/Adapay/AdapaySDK/UnFreezeAccount.cs
+59
-0
Wallet.cs
Mall.ThirdCore/Adapay/AdapaySDK/Wallet.cs
+60
-0
GetUnassignedListResult.cs
Mall.ThirdCore/Adapay/Model/GetUnassignedListResult.cs
+122
-0
AdapayCallBackController.cs
Mall.WebApi/Controllers/Adapay/AdapayCallBackController.cs
+119
-0
AdapayController.cs
Mall.WebApi/Controllers/Adapay/AdapayController.cs
+461
-0
No files found.
Mall.Model/Entity/Product/RB_Goods_Online_Trade.cs
View file @
4f11ca23
...
...
@@ -187,5 +187,20 @@ namespace Mall.Model.Entity.Product
get
;
set
;
}
/// <summary>
/// 汇付天下支付ID 退费要使用
/// </summary>
public
string
Adapay_Id
{
get
;
set
;
}
/// <summary>
/// 汇付天下 应用AppID
/// </summary>
public
string
App_Id
{
get
;
set
;
}
/// <summary>
/// 手续费金额
/// </summary>
public
decimal
Fee_Amt
{
get
;
set
;
}
}
}
Mall.Model/Extend/Education/RB_Trade_Config.cs
0 → 100644
View file @
4f11ca23
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
using
VT.FW.DB
;
namespace
Mall.Model.Extend.Education
{
/// <summary>
/// 汇付天下配置扩展类
/// </summary>
public
class
RB_Trade_Config
{
/// <summary>
/// Id
/// </summary>
public
int
Id
{
get
;
set
;
}
/// <summary>
/// 类型 1汇付天下
/// </summary>
public
int
Type
{
get
;
set
;
}
/// <summary>
/// 商户名称
/// </summary>
public
string
Name
{
get
;
set
;
}
/// <summary>
/// 平台appid
/// </summary>
public
string
AppId
{
get
;
set
;
}
/// <summary>
/// 平台Apikey
/// </summary>
public
string
ApiKey
{
get
;
set
;
}
/// <summary>
/// 平台ApiMockKey
/// </summary>
public
string
ApiMockKey
{
get
;
set
;
}
/// <summary>
/// 平台私钥
/// </summary>
public
string
PrivateKey
{
get
;
set
;
}
/// <summary>
/// 删除状态
/// </summary>
public
int
Status
{
get
;
set
;
}
/// <summary>
/// 集团ID
/// </summary>
public
int
GroupId
{
get
;
set
;
}
/// <summary>
/// 使用的校区
/// </summary>
public
int
SchoolId
{
get
;
set
;
}
/// <summary>
/// 创建人
/// </summary>
public
int
CreateBy
{
get
;
set
;
}
/// <summary>
/// 创建时间
/// </summary>
public
DateTime
CreateTime
{
get
;
set
;
}
/// <summary>
/// 修改人
/// </summary>
public
int
UpdateBy
{
get
;
set
;
}
/// <summary>
/// 修改时间
/// </summary>
public
DateTime
UpdateTime
{
get
;
set
;
}
}
}
Mall.Module.User/UserCommonModule.cs
View file @
4f11ca23
...
...
@@ -21,6 +21,8 @@ using Mall.Repository.BaseSetUp;
using
Mall.Repository.Coffee
;
using
Mall.Common.Enum.User
;
using
Mall.Repository.Education
;
using
Mall.ThirdCore.Adapay.Model
;
using
Newtonsoft.Json.Linq
;
namespace
Mall.Module.User
{
...
...
@@ -2498,5 +2500,147 @@ namespace Mall.Module.User
}
}
#
endregion
#
region
汇付天下支付
/// <summary>
/// 获取订单信息
/// </summary>
/// <param name="orderId"></param>
/// <param name="mallBaseId"></param>
/// <returns></returns>
public
RB_Goods_Order_Extend
GetAdapayOrderInfo
(
int
orderId
,
int
mallBaseId
)
{
var
orderModel
=
goods_OrderRepository
.
GetEntity
<
RB_Goods_Order_Extend
>(
orderId
);
if
(
orderModel
!=
null
)
{
orderModel
.
DetailList
=
goodsOrderDetailRepository
.
GetOrderDetailList
(
new
RB_Goods_OrderDetail_Extend
()
{
MallBaseId
=
mallBaseId
,
OrderId
=
orderModel
.
OrderId
});
}
return
orderModel
;
}
/// <summary>
/// 回调更新支付
/// </summary>
/// <param name="payModel"></param>
public
bool
InsertAdapayOrderTrade
(
AdaPayResultModel
payModel
)
{
int
MallbaseId
=
0
,
OrderId
=
0
;
if
(
string
.
IsNullOrEmpty
(
payModel
.
description
))
{
LogHelper
.
WriteInfo
(
"InsertOrderTrade回调空值:"
+
JsonHelper
.
Serialize
(
payModel
));
}
else
{
//拆分重要信息
string
[]
parms
=
payModel
.
description
.
Split
(
'|'
);
MallbaseId
=
Convert
.
ToInt32
(
parms
[
0
]);
//集团Id
OrderId
=
Convert
.
ToInt32
(
parms
[
1
]);
//报价单ID
}
if
(
OrderId
<=
0
)
{
return
false
;
}
string
OpenId
=
""
;
if
(
payModel
.
expend
!=
null
&&
!
string
.
IsNullOrEmpty
(
payModel
.
expend
.
ToString
()))
{
if
(
payModel
.
pay_channel
.
Contains
(
"alipay"
))
{
OpenId
=
JObject
.
Parse
(
payModel
.
expend
.
ToString
()).
GetStringValue
(
"sub_open_id"
);
}
else
if
(
payModel
.
pay_channel
.
Contains
(
"wx"
))
{
OpenId
=
JObject
.
Parse
(
payModel
.
expend
.
ToString
()).
GetStringValue
(
"open_id"
);
}
}
//判断订单状态是否是待支付 2020-06-16 Add By:W
var
oldOrder
=
goods_OrderRepository
.
GetEntity
(
OrderId
);
if
(
oldOrder
==
null
)
{
return
false
;
}
if
(
oldOrder
.
MallBaseId
!=
MallbaseId
)
{
return
false
;
}
if
(
oldOrder
.
OrderStatus
!=
Common
.
Enum
.
Goods
.
OrderStatusEnum
.
NonPayment
)
{
return
false
;
}
//if (oldOrder.Income != payModel.pay_amt)
//{
// return false;
//}
var
umodel
=
member_UserRepository
.
GetEntity
(
oldOrder
.
UserId
);
if
(
umodel
==
null
)
{
return
false
;
}
//获取订单商品
var
orderGoodsList
=
goodsOrderDetailRepository
.
GetOrderDetailList
(
new
RB_Goods_OrderDetail_Extend
{
TenantId
=
oldOrder
.
TenantId
,
MallBaseId
=
oldOrder
.
MallBaseId
,
OrderId
=
oldOrder
.
OrderId
});
bool
flag
=
goods_Online_TradeRepository
.
Insert
(
new
Model
.
Entity
.
Product
.
RB_Goods_Online_Trade
()
{
Id
=
0
,
User_Id
=
oldOrder
.
UserId
,
FinanceId
=
0
,
CreateDate
=
DateTime
.
Now
,
IsRefund
=
2
,
MallBaseId
=
oldOrder
.
MallBaseId
,
Money
=
payModel
.
pay_amt
,
OrderId
=
OrderId
,
Out_Trade_No
=
payModel
.
order_no
,
PayType
=
payModel
.
pay_channel
,
//存支付渠道
PayWay
=
payModel
.
pay_channel
.
Contains
(
"alipay"
)
?
Common
.
Enum
.
Goods
.
OrderPayTypeEnum
.
Alipay
:
Common
.
Enum
.
Goods
.
OrderPayTypeEnum
.
WeChatPay
,
Pay_Date
=
DateTime
.
Now
,
Pay_Result
=
0
,
RefundMoney
=
0
,
RefundStatus
=
0
,
RefundTrade_Order
=
OpenId
,
//这个存openId
Remarks
=
(
payModel
.
expend
!=
null
?
payModel
.
expend
.
ToString
()
:
""
)
+
" and "
+
payModel
.
description
,
//这个存扩展参数
TenantId
=
oldOrder
.
TenantId
,
Transaction_Id
=
payModel
.
out_trans_id
,
Type
=
1
,
Adapay_Id
=
payModel
.
id
,
App_Id
=
payModel
.
app_id
,
Fee_Amt
=
payModel
.
fee_amt
})
>
0
;
if
(
flag
)
{
//更新订单信息
Dictionary
<
string
,
object
>
keyValues
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Goods_Order_Extend
.
MerchantsNo
),
payModel
.
out_trans_id
},
{
nameof
(
RB_Goods_Order_Extend
.
PaymentTime
),
DateTime
.
Now
},
{
nameof
(
RB_Goods_Order_Extend
.
PaymentWay
),
Common
.
Enum
.
Goods
.
OrderPaymentTypeEnum
.
OnlinePayment
},
{
nameof
(
RB_Goods_Order_Extend
.
OrderStatus
),
Common
.
Enum
.
Goods
.
OrderStatusEnum
.
Completed
}
};
List
<
WhereHelper
>
wheres
=
new
List
<
WhereHelper
>()
{
new
WhereHelper
(){
FiledName
=
nameof
(
RB_Goods_Order_Extend
.
OrderId
),
FiledValue
=
OrderId
,
OperatorEnum
=
OperatorEnum
.
Equal
}
};
goods_OrderRepository
.
Update
(
keyValues
,
wheres
);
//发送订阅消息
string
goodsName
=
orderGoodsList
.
FirstOrDefault
().
GoodsName
;
if
(
orderGoodsList
.
Count
>
1
)
{
if
(
goodsName
.
Length
>
6
)
{
goodsName
=
goodsName
.
Substring
(
0
,
6
);
}
goodsName
+=
"等"
+
orderGoodsList
.
Count
+
"件"
;
}
else
{
if
(
goodsName
.
Length
>
10
)
{
goodsName
=
goodsName
.
Substring
(
0
,
10
);
}
}
appletWeChatModule
.
SendOrderSucceedMsg
(
oldOrder
.
TenantId
,
oldOrder
.
MallBaseId
,
umodel
.
OpenId
,
oldOrder
.
OrderNo
,
oldOrder
.
CreateDate
.
Value
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
),
(
oldOrder
.
Income
??
0
).
ToString
(),
goodsName
);
}
return
flag
;
}
#
endregion
}
}
Mall.Repository/Education/RB_Trade_ConfigRepository.cs
0 → 100644
View file @
4f11ca23
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
Mall.Model.Entity.Education
;
using
Mall.Model.Extend.Education
;
using
VT.FW.DB.Dapper
;
namespace
Mall.Repository.Education
{
/// <summary>
/// 汇付天下配置仓储层
/// </summary>
public
class
RB_Trade_ConfigRepository
:
BaseRepository
<
Model
.
Entity
.
User
.
RB_Member_User
>
{
/// <summary>
/// 获取列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public
List
<
RB_Trade_Config
>
GetList
(
RB_Trade_Config
query
)
{
StringBuilder
builder
=
new
StringBuilder
();
builder
.
AppendFormat
(
@"
SELECT *
FROM RB_Trade_Config
WHERE 1=1
"
);
if
(
query
!=
null
)
{
if
(
query
.
GroupId
>
0
)
{
builder
.
AppendFormat
(
" AND {0}={1} "
,
nameof
(
RB_Trade_Config
.
GroupId
),
query
.
GroupId
);
}
if
(
query
.
Type
>
0
)
{
builder
.
AppendFormat
(
" AND {0}={1} "
,
nameof
(
RB_Trade_Config
.
Type
),
query
.
Type
);
}
}
return
Get
<
RB_Trade_Config
>(
builder
.
ToString
()).
ToList
();
}
}
}
Mall.ThirdCore/Adapay/AdapayCore/CoreUtils.cs
0 → 100644
View file @
4f11ca23
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Security.Cryptography
;
using
System.IO
;
namespace
AdapayCore
{
public
class
CoreUtils
{
public
static
bool
debug
=
false
;
public
static
string
sdk_version
=
"C#v1.2.0"
;
public
static
string
BASE_URL
=
"https://api.adapay.tech"
;
public
static
string
RSA_PUB_KEY
=
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwN6xgd6Ad8v2hIIsQVnbt8a3JituR8o4Tc3B5WlcFR55bz4OMqrG/356Ur3cPbc2Fe8ArNd/0gZbC9q56Eb16JTkVNA/fye4SXznWxdyBPR7+guuJZHc/VW2fKH2lfZ2P3Tt0QkKZZoawYOGSMdIvO+WqK44updyax0ikK6JlNQIDAQAB"
;
public
static
string
GetMD5Hash
(
string
str
)
{
//就是比string往后一直加要好的优化容器
StringBuilder
sb
=
new
StringBuilder
();
using
(
MD5CryptoServiceProvider
md5
=
new
MD5CryptoServiceProvider
())
{
//将输入字符串转换为字节数组并计算哈希。
byte
[]
data
=
md5
.
ComputeHash
(
Encoding
.
UTF8
.
GetBytes
(
str
));
int
length
=
data
.
Length
;
for
(
int
i
=
0
;
i
<
length
;
i
++)
sb
.
Append
(
data
[
i
].
ToString
(
"X2"
));
}
return
sb
.
ToString
();
}
public
static
byte
[]
File2Bytes
(
string
FilePath
)
{
if
(!
System
.
IO
.
File
.
Exists
(
FilePath
))
{
return
new
byte
[
0
];
}
FileStream
fs
=
new
FileStream
(
FilePath
,
FileMode
.
Open
,
FileAccess
.
Read
);
byte
[]
buff
=
new
byte
[
fs
.
Length
];
fs
.
Read
(
buff
,
0
,
Convert
.
ToInt32
(
fs
.
Length
));
fs
.
Close
();
return
buff
;
}
public
static
string
getOrignalString
(
Dictionary
<
string
,
object
>
dict
)
{
Dictionary
<
string
,
object
>
params_SortedByKey
=
dict
.
OrderBy
(
p
=>
p
.
Key
).
ToDictionary
(
p
=>
p
.
Key
,
o
=>
o
.
Value
);
StringBuilder
orinalStr
=
new
StringBuilder
(
""
);
foreach
(
KeyValuePair
<
string
,
object
>
item
in
params_SortedByKey
)
{
orinalStr
.
Append
(
item
.
Key
)
.
Append
(
"="
)
.
Append
(
item
.
Value
)
.
Append
(
"&"
);
}
if
(
orinalStr
.
Equals
(
""
))
{
return
""
;
}
else
{
orinalStr
.
Remove
(
orinalStr
.
Length
-
1
,
1
);
}
return
orinalStr
.
ToString
();
}
public
static
void
Log
(
string
message
)
{
if
(
CoreUtils
.
debug
)
{
Console
.
WriteLine
(
message
);
}
}
}
}
Mall.ThirdCore/Adapay/AdapayCore/MerConfig.cs
0 → 100644
View file @
4f11ca23
using
System
;
namespace
AdapayCore
{
public
class
MerConfig
{
public
MerConfig
()
{
}
//商户rsa 私钥
public
string
privateKey
;
public
string
apiKey
;
public
string
apiMockKey
;
}
}
Mall.ThirdCore/Adapay/AdapayCore/NetUtils.cs
0 → 100644
View file @
4f11ca23
This diff is collapsed.
Click to expand it.
Mall.ThirdCore/Adapay/AdapayCore/StringUtils.cs
0 → 100644
View file @
4f11ca23
using
System
;
using
System.Collections.Generic
;
namespace
AdapaySDK
{
public
class
StringUtils
{
public
static
string
tryGetNotNullValue
(
Dictionary
<
string
,
object
>
dict
,
string
key
)
{
object
value
=
null
;
dict
.
TryGetValue
(
key
,
out
value
);
if
(
String
.
IsNullOrWhiteSpace
((
string
)
value
))
{
throw
new
Exception
(
value
+
" cannot be empty"
);
}
return
(
string
)
value
;
}
/// <summary>
/// 获取时间
/// </summary>
/// <returns></returns>
public
static
string
timeStamp
()
{
DateTime
startTime
=
new
DateTime
(
1970
,
1
,
1
,
0
,
0
,
0
,
0
);
DateTime
localNow
=
DateTime
.
Now
;
long
timeStamp
=
(
long
)((
localNow
-
startTime
).
TotalMilliseconds
);
return
""
+
timeStamp
;
}
/// <summary>
/// 时间戳反转为时间,有很多中翻转方法,但是,请不要使用过字符串(string)进行操作,大家都知道字符串会很慢!
/// </summary>
/// <param name="TimeStamp">时间戳</param>
/// <param name="AccurateToMilliseconds">是否精确到毫秒</param>
/// <returns>返回一个日期时间</returns>
public
static
DateTime
GetTime
(
long
TimeStamp
,
bool
AccurateToMilliseconds
=
false
)
{
System
.
DateTime
startTime
=
TimeZone
.
CurrentTimeZone
.
ToLocalTime
(
new
System
.
DateTime
(
1970
,
1
,
1
));
// 当地时区
if
(
AccurateToMilliseconds
)
{
return
startTime
.
AddTicks
(
TimeStamp
*
10000
);
}
else
{
return
startTime
.
AddTicks
(
TimeStamp
*
10000000
);
}
}
}
}
Mall.ThirdCore/Adapay/AdapaySDK/Account.cs
0 → 100644
View file @
4f11ca23
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
namespace
AdapaySDK
{
/**
* 账户对象
*/
public
class
Account
{
/**
* 账户对象支付
*
* @param requestParams 请求参数
* @param merchantKey merchantKey
* @return 查询的支付撤销对象
*/
public
static
Dictionary
<
string
,
Object
>
payment
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
requestAdapayPageServer
(
requestParams
,
APIUrlEnum
.
CREATE_ACCOUNT_PAYMENT
,
null
);
}
/**
*
* @param requestParams 请求参数
* @param merchantKey merchantKey
*/
public
static
Dictionary
<
string
,
Object
>
payment
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
requestAdapayPageServer
(
requestParams
,
APIUrlEnum
.
CREATE_ACCOUNT_PAYMENT
,
merchantKey
);
}
}
}
Mall.ThirdCore/Adapay/AdapaySDK/Adapay.cs
0 → 100644
View file @
4f11ca23
using
System
;
using
System.Collections.Generic
;
using
AdapayCore
;
namespace
AdapaySDK
{
public
class
Adapay
{
private
const
string
sdk_version
=
"C#v1.4.1"
;
public
static
string
deviceId
=
""
;
public
static
Dictionary
<
string
,
MerConfig
>
merchantConfigs
;
public
static
bool
isMock
=
false
;
private
static
bool
_debug
=
false
;
public
static
bool
debug
{
set
{
_debug
=
value
;
CoreUtils
.
debug
=
value
;
}
get
{
if
(!
_debug
)
{
return
false
;
}
return
_debug
;
}
}
public
static
void
initWithMerConfig
(
MerConfig
config
)
{
initAdapayCore
();
if
(
null
!=
config
)
{
merchantConfigs
=
new
Dictionary
<
string
,
MerConfig
>();
merchantConfigs
.
Add
(
"default"
,
config
);
}
else
{
throw
new
Exception
(
"configs cannot be null"
);
}
}
public
static
void
initWithMerConfigs
(
Dictionary
<
string
,
MerConfig
>
configs
)
{
initAdapayCore
();
if
(
null
!=
configs
)
{
merchantConfigs
=
configs
;
}
else
{
throw
new
Exception
(
"configs cannot be null"
);
}
}
private
static
void
initAdapayCore
(){
CoreUtils
.
BASE_URL
=
ConfigConstant
.
BASE_URL
;
CoreUtils
.
RSA_PUB_KEY
=
ConfigConstant
.
RSA_PUB_KEY
;
CoreUtils
.
sdk_version
=
sdk_version
;
/**
MQTT_Config.MQTT_ACCESS_KEY = MQTT_Constant.MQTT_ACCESS_KEY;
MQTT_Config.MQTT_CLIENT_ID_PREFIX = MQTT_Constant.MQTT_CLIENT_ID_PREFIX;
MQTT_Config.MQTT_END_POINT = MQTT_Constant.MQTT_END_POINT;
MQTT_Config.MQTT_INSTANCE_ID = MQTT_Constant.MQTT_INSTANCE_ID;
MQTT_Config.MQTT_TOPIC_PREFIX = MQTT_Constant.MQTT_TOPIC_PREFIX;
**/
}
}
class
AdapayRequest
{
public
static
MerConfig
fetchConfig
(
string
merchantKey
)
{
if
(
null
==
merchantKey
)
{
merchantKey
=
"default"
;
}
if
(
null
==
Adapay
.
merchantConfigs
)
{
throw
new
Exception
(
"Please config merchant config info at first"
);
}
MerConfig
config
=
null
;
Adapay
.
merchantConfigs
.
TryGetValue
(
merchantKey
,
out
config
);
if
(
null
==
config
)
{
throw
new
Exception
(
"configInfo for merchantkey-"
+
merchantKey
+
"is not configed"
);
}
return
config
;
}
public
static
Dictionary
<
string
,
Object
>
requestAdapay
(
Dictionary
<
string
,
object
>
requestParams
,
string
uri
,
string
merchantKey
)
{
MerConfig
config
=
fetchConfig
(
merchantKey
);
string
apikey
=
config
.
apiKey
;
if
(
Adapay
.
isMock
)
{
apikey
=
config
.
apiMockKey
;
}
return
NetUtils
.
requestAdapay
(
requestParams
,
null
,
null
,
uri
,
NetUtils
.
POST
,
apikey
,
config
.
privateKey
);
}
public
static
Dictionary
<
string
,
Object
>
getRequestAdapay
(
Dictionary
<
string
,
object
>
requestParams
,
string
uri
,
string
merchantKey
)
{
MerConfig
config
=
fetchConfig
(
merchantKey
);
string
apikey
=
config
.
apiKey
;
if
(
Adapay
.
isMock
)
{
apikey
=
config
.
apiMockKey
;
}
return
NetUtils
.
requestAdapay
(
requestParams
,
null
,
null
,
uri
,
NetUtils
.
GET
,
apikey
,
config
.
privateKey
);
}
public
static
Dictionary
<
string
,
Object
>
requestAdapay
(
Dictionary
<
string
,
object
>
requestParams
,
string
filePath
,
string
fileParam
,
string
uri
,
string
merchantKey
)
{
MerConfig
config
=
fetchConfig
(
merchantKey
);
string
apikey
=
config
.
apiKey
;
if
(
Adapay
.
isMock
)
{
apikey
=
config
.
apiMockKey
;
}
return
NetUtils
.
requestAdapay
(
requestParams
,
filePath
,
fileParam
,
uri
,
NetUtils
.
POST
,
apikey
,
config
.
privateKey
);
}
public
static
Dictionary
<
string
,
Object
>
requestAdapayPageServer
(
Dictionary
<
string
,
object
>
requestParams
,
string
uri
,
string
merchantKey
)
{
MerConfig
config
=
fetchConfig
(
merchantKey
);
string
apikey
=
config
.
apiKey
;
if
(
Adapay
.
isMock
)
{
apikey
=
config
.
apiMockKey
;
}
return
NetUtils
.
requestAdapayWithURL
(
requestParams
,
null
,
null
,
ConfigConstant
.
PAGE_SERVER_BASE_URL
+
uri
,
NetUtils
.
POST
,
apikey
,
config
.
privateKey
);
}
}
}
Mall.ThirdCore/Adapay/AdapaySDK/AdapayTools.cs
0 → 100644
View file @
4f11ca23
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
using
AdapayCore
;
namespace
AdapaySDK
{
public
class
AdapayTools
{
/**
* 获取银联云闪付用户标识
*/
public
static
Dictionary
<
string
,
Object
>
unionUserId
(
Dictionary
<
string
,
Object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
UNION_USER_ID_V1
,
merchantKey
);
}
/**
* 获取银联云闪付用户标识
*/
public
static
Dictionary
<
string
,
Object
>
unionUserId
(
Dictionary
<
string
,
Object
>
requestParams
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
UNION_USER_ID_V1
,
null
);
}
/**
* download bill file
*/
public
static
Dictionary
<
string
,
Object
>
downloadBill
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
BILL_DOWNLOAD_V1
,
null
);
}
/**
* download bill file
*/
public
static
Dictionary
<
string
,
Object
>
downloadBill
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
BILL_DOWNLOAD_V1
,
merchantKey
);
}
/**
* 校验返回签名
*
* @param signature 签名
* @param content 报文内容
* @return 校验结果
*/
public
static
bool
verifySign
(
string
signature
,
string
content
)
{
return
NetUtils
.
verfySign
(
signature
,
content
);
}
}
}
Mall.ThirdCore/Adapay/AdapaySDK/Checkout.cs
0 → 100644
View file @
4f11ca23
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
namespace
AdapaySDK
{
public
class
Checkout
{
/**
* 创建收银台对象
*
* @param requestParams 创建收银台对象 AdaPay api
* @return 收银台对象
*/
public
static
Dictionary
<
string
,
Object
>
create
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
requestAdapayPageServer
(
requestParams
,
APIUrlEnum
.
CREATE_CHECK_OUT
,
null
);
}
/**
* 创建收银台对象
*
* @param requestParams 创建收银台对象 AdaPay api
* @param merchantKey merchantKey
* @return 收银台对象
*/
public
static
Dictionary
<
string
,
Object
>
create
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
requestAdapayPageServer
(
requestParams
,
APIUrlEnum
.
CREATE_CHECK_OUT
,
merchantKey
);
}
/**
* 查询收银台对象列表
*
* @param requestParams 查询收银台对象列表 AdaPay api
* @param merchantKey merchantKey
* @return 收银台对象
*/
public
static
Dictionary
<
string
,
Object
>
queryList
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
requestAdapayPageServer
(
requestParams
,
APIUrlEnum
.
LIST_CHECK_OUT
,
merchantKey
);
}
/**
* 查询收银台对象列表
*
* @param requestParams 查询收银台对象列表 AdaPay api
* @return 收银台对象
*/
public
static
Dictionary
<
string
,
Object
>
queryList
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
requestAdapayPageServer
(
requestParams
,
APIUrlEnum
.
LIST_CHECK_OUT
,
null
);
}
}
}
Mall.ThirdCore/Adapay/AdapaySDK/ConfigConstant.cs
0 → 100644
View file @
4f11ca23
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
AdapaySDK
{
class
ConfigConstant
{
public
const
string
BASE_URL
=
"https://api.adapay.tech"
;
public
const
string
PAGE_SERVER_BASE_URL
=
"https://page.adapay.tech"
;
public
const
string
RSA_PUB_KEY
=
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwN6xgd6Ad8v2hIIsQVnbt8a3JituR8o4Tc3B5WlcFR55bz4OMqrG/356Ur3cPbc2Fe8ArNd/0gZbC9q56Eb16JTkVNA/fye4SXznWxdyBPR7+guuJZHc/VW2fKH2lfZ2P3Tt0QkKZZoawYOGSMdIvO+WqK44updyax0ikK6JlNQIDAQAB"
;
}
class
APIUrlEnum
{
// 支付对象(Payment)
/**
* 支付
*/
public
const
string
PAYMENT_V1
=
"/v1/payments"
;
/**
* 支付查询
*/
public
const
string
QUERY_PAYMENT_V1
=
"/v1/payments/"
;
/**
* 支付对象列表查询
*/
public
const
string
LIST_PAYMENT_V1
=
"/v1/payments/list"
;
/**
* 关单
*/
public
const
string
CLOSE_PAYMENT_V1
=
"/v1/payments/"
;
/**
* 快捷支付支付确认
*/
public
const
string
FAST_PAY_CONFIRM
=
"/v1/fast_pay/confirm"
;
/**
* 快捷支付短信重发
*/
public
const
string
FAST_PAY_SMS_CODE
=
"/v1/fast_pay/sms_code"
;
// 退款对象(Refund)
/**
* 退款
*/
public
const
string
REFUND_V1
=
"/v1/payments/"
;
/**
* 退款查询
*/
public
const
string
QUERY_REFUND_V1
=
"/v1/payments/refunds"
;
// 支付确认对象(PaymentConfirm)
/**
* 支付确认
*/
public
const
string
CONFIRM_PAYMENT_V1
=
"/v1/payments/confirm"
;
/**
* 支付确认查询
*/
public
const
string
QUERY_CONFIRM_PAYMENT_V1
=
"/v1/payments/confirm/"
;
/**
* 支付确认列表查询
*/
public
const
string
CONFIRM_PAYMENT_LIST_V1
=
"/v1/payments/confirm/list"
;
// 支付撤销对象(PaymentConfirm)
/**
* 支付撤销
*/
public
const
string
REVERSE_PAYMENT_V1
=
"/v1/payments/reverse"
;
/**
* 查询支付撤销
*/
public
const
string
QUERY_REVERSE_PAYMENT_V1
=
"/v1/payments/reverse/"
;
/**
* 支付撤销列表查询
*/
public
const
string
REVERSE_PAYMENT_LIST_V1
=
"/v1/payments/reverse/list"
;
// 个人用户(Member)
/**
* 创建用户
*/
public
const
string
MEMBER_V1
=
"/v1/members"
;
/**
* 查询用户对象
*/
public
const
string
QUERY_MEMBER_V1
=
"/v1/members/"
;
/**
* 查询用户列表
*/
public
const
string
QUERY_MEMBER_LIST_V1
=
"/v1/members/list"
;
/**
* 更新用户
*/
public
const
string
UPDATE_MEMBER_V1
=
"/v1/members/update"
;
// 企业用户(CorpMember)
/**
* 创建企业用户对象
*/
public
const
string
CORP_MEMBER_V1
=
"/v1/corp_members"
;
/**
* 查询企业用户对象
*/
public
const
string
QUERY_CORP_MEMBER_V1
=
"/v1/corp_members/"
;
// 结算账户(SettleAccount)
/**
* 创建结算账户
*/
public
const
string
SETTLE_ACCOUNT_V1
=
"/v1/settle_accounts"
;
/**
* 查询结算账户
*/
public
const
string
QUERY_SETTLE_ACCOUNT_V1
=
"/v1/settle_accounts/"
;
/**
* 删除结算账户
*/
public
const
string
DELETE_SETTLE_ACCOUNT_V1
=
"/v1/settle_accounts/delete"
;
/**
* 修改结算账户
*/
public
const
string
MODIFY_SETTLE_ACCOUNT_V1
=
"/v1/settle_accounts/modify"
;
/**
* 查询结算明细列表
*/
public
const
string
QUERY_SETTLE_DETAILS_V1
=
"/v1/settle_accounts/settle_details"
;
// 支付转账对象
/**
* 创建转账对象
*/
public
const
string
CREATE_TRANSFER
=
"/v1/settle_accounts/transfer"
;
/**
* 查询转账对象列表
*/
public
const
string
TRANSFER_LIST
=
"/v1/settle_accounts/transfer/list"
;
// 账户冻结对象
/**
* 创建账户冻结对象
*/
public
const
string
FREEZE_ACCOUNT_CREATE
=
"/v1/settle_accounts/freeze"
;
/**
* 查询账户冻结对象列表
*/
public
const
string
FREEZE_ACCOUNT_LIST
=
"/v1/settle_accounts/freeze/list"
;
// 账户解冻对象
/**
* 创建账户解冻对象
*/
public
const
string
UN_FREEZE_ACCOUNT_CREATE
=
"/v1/settle_accounts/un_freeze"
;
/**
* 查询账户解冻对象列表
*/
public
const
string
UN_FREEZE_ACCOUNT_LIST
=
"/v1/settle_accounts/unfreeze/list"
;
// 银行卡对象
/**
* 快捷支付绑卡创建
*/
public
const
string
FAST_PAY_CARD_BIND
=
"/v1/fast_card/apply"
;
/**
* 快捷支付绑卡确认
*/
public
const
string
FAST_PAY_CARD_BIND_CONFIRM
=
"/v1/fast_card/confirm"
;
/**
* 快捷支付绑卡列表查询
*/
public
const
string
FAST_PAY_CARD_BIND_LIST
=
"/v1/fast_card/list"
;
// 钱包
/**
* 帐户取现创建
*/
public
const
string
DRAW_CASH
=
"/v1/cashs"
;
/**
* 查询取现状态
*/
public
const
string
QUERY_CASHS_STAT_V1
=
"/v1/cashs/stat"
;
/**
* 查询帐户余额
*/
public
const
string
QUERY_BALANCE
=
"/v1/settle_accounts/balance"
;
/**
* 钱包用户登录
*/
public
const
string
WALLET_LOGIN
=
"/v1/walletLogin"
;
/**
* 钱包账户支付
*/
public
const
string
CREATE_ACCOUNT_PAYMENT
=
"/v1/account/payment"
;
/**
* 创建收银台对象
*/
public
const
string
CREATE_CHECK_OUT
=
"/v1/checkout"
;
/**
* 查询收银台对象列表
*/
public
const
string
LIST_CHECK_OUT
=
"/v1/checkout/list"
;
/**
* DOWNLOAD BILL
*/
public
const
string
BILL_DOWNLOAD_V1
=
"/v1/bill/download"
;
/**
* 获取银联云闪付用户标识
*/
public
const
string
UNION_USER_ID_V1
=
"/v1/union/user_identity"
;
/**
* 创建服务商分账对象
*/
public
const
string
COMMISSIONS_SETTLE
=
"/v1/settle_accounts/commissions"
;
/**
* 服务商分账对象列表
*/
public
const
string
LIST_COMMISSIONS_SETTLE
=
"/v1/settle_accounts/commissions/list"
;
}
}
Mall.ThirdCore/Adapay/AdapaySDK/CorpMember.cs
0 → 100644
View file @
4f11ca23
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
namespace
AdapaySDK
{
public
class
CorpMember
{
/**
* 创建企业用户对象
*
* @param params 创建企业用户对象的请求参数,参见 AdaPay api
* @param params 创建企业用户对象的附件文件参数,参见 AdaPay api
* @param merchantKey merchantKey
* @return 创建用户对象
* @ 异常
*/
public
static
Dictionary
<
string
,
Object
>
create
(
Dictionary
<
string
,
object
>
requestParams
,
string
filePath
,
string
merchantKey
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
filePath
,
"attach_file"
,
APIUrlEnum
.
CORP_MEMBER_V1
,
merchantKey
);
}
/**
* 查询企业用户对象
*
* @param params 查询企业用户对象的请求参数,参见 AdaPay api
* @return 查询的企业用户对象
* @ 异常
*/
public
static
Dictionary
<
string
,
Object
>
query
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
string
memberId
=
StringUtils
.
tryGetNotNullValue
(
requestParams
,
"member_id"
);
string
uri
=
new
StringBuilder
(
APIUrlEnum
.
QUERY_CORP_MEMBER_V1
).
Append
(
memberId
).
ToString
();
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
uri
,
merchantKey
);
}
/**
* 创建企业用户对象
*
* @param params 创建企业用户对象的请求参数,参见 AdaPay api
* @param params 创建企业用户对象的附件文件参数,参见 AdaPay api
* @param merchantKey merchantKey
* @return 创建用户对象
* @ 异常
*/
public
static
Dictionary
<
string
,
Object
>
create
(
Dictionary
<
string
,
object
>
requestParams
,
string
filePath
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
filePath
,
"attach_file"
,
APIUrlEnum
.
CORP_MEMBER_V1
,
null
);
}
/**
* 查询企业用户对象
*
* @param params 查询企业用户对象的请求参数,参见 AdaPay api
* @return 查询的企业用户对象
* @ 异常
*/
public
static
Dictionary
<
string
,
Object
>
query
(
Dictionary
<
string
,
object
>
requestParams
)
{
string
memberId
=
StringUtils
.
tryGetNotNullValue
(
requestParams
,
"member_id"
);
string
uri
=
new
StringBuilder
(
APIUrlEnum
.
QUERY_CORP_MEMBER_V1
).
Append
(
memberId
).
ToString
();
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
uri
,
null
);
}
}
}
Mall.ThirdCore/Adapay/AdapaySDK/Drawcash.cs
0 → 100644
View file @
4f11ca23
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
namespace
AdapaySDK
{
public
class
Drawcash
{
/**
* 创建取现对象
*
* @param params 创建取现对象的请求参数,参见 AdaPay api
* @return 取现对象
*/
public
static
Dictionary
<
string
,
Object
>
create
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
DRAW_CASH
,
null
);
}
/**
* 创建取现对象
*
* @param params 创建取现对象的请求参数,参见 AdaPay api
* @return 取现对象
*/
public
static
Dictionary
<
string
,
Object
>
create
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
DRAW_CASH
,
merchantKey
);
}
/**
* 查询取现状态
*
* @param params 查询取现状态,参见 AdaPay api
* @return 取现状态
*/
public
static
Dictionary
<
string
,
Object
>
query
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
APIUrlEnum
.
QUERY_CASHS_STAT_V1
,
null
);
}
/**
* 查询取现状态
*
* @param params 查询取现状态,参见 AdaPay api
* @return 取现状态
*/
public
static
Dictionary
<
string
,
Object
>
query
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
APIUrlEnum
.
QUERY_CASHS_STAT_V1
,
merchantKey
);
}
}
}
Mall.ThirdCore/Adapay/AdapaySDK/FastPay.cs
0 → 100644
View file @
4f11ca23
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
namespace
AdapaySDK
{
public
class
FastPay
{
/**
* 创建快捷支付绑卡对象
*
* @param requestParams 请求参数
* @param merchantKey merchantKey
* @return 快捷支付绑卡
*/
public
static
Dictionary
<
string
,
Object
>
cardBind
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
FAST_PAY_CARD_BIND
,
null
);
}
/**
* 创建快捷支付绑卡确认
*
* @param requestParams 请求参数
* @param merchantKey merchantKey
* @return 快捷支付绑卡确认
*/
public
static
Dictionary
<
string
,
Object
>
cardBindConfirm
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
FAST_PAY_CARD_BIND_CONFIRM
,
null
);
}
/**
* 查询快捷支付绑卡对象列表
*
* @param requestParams 请求参数
* @param merchantKey merchantKey
* @return 快捷支付绑卡
*/
public
static
Dictionary
<
string
,
Object
>
cardBindList
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
APIUrlEnum
.
FAST_PAY_CARD_BIND_LIST
,
null
);
}
/**
* 创建快捷支付确认
*
* @param requestParams 请求参数
* @param merchantKey merchantKey
* @return 快捷支付确认
*/
public
static
Dictionary
<
string
,
Object
>
confirm
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
FAST_PAY_CONFIRM
,
null
);
}
/**
* 快捷支付短信重发
*
* @param requestParams 请求参数
* @param merchantKey merchantKey
* @return 快捷支付短信重发
*/
public
static
Dictionary
<
string
,
Object
>
smsCode
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
FAST_PAY_SMS_CODE
,
null
);
}
/**
* 创建快捷支付绑卡对象
*
* @param requestParams 请求参数
* @param merchantKey merchantKey
* @return 快捷支付绑卡
*/
public
static
Dictionary
<
string
,
Object
>
cardBind
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
FAST_PAY_CARD_BIND
,
merchantKey
);
}
/**
* 创建快捷支付绑卡确认
*
* @param requestParams 请求参数
* @param merchantKey merchantKey
* @return 快捷支付绑卡确认
*/
public
static
Dictionary
<
string
,
Object
>
cardBindConfirm
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
FAST_PAY_CARD_BIND_CONFIRM
,
merchantKey
);
}
/**
* 查询快捷支付绑卡对象列表
*
* @param requestParams 请求参数
* @param merchantKey merchantKey
* @return 快捷支付绑卡
*/
public
static
Dictionary
<
string
,
Object
>
cardBindList
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
APIUrlEnum
.
FAST_PAY_CARD_BIND_LIST
,
merchantKey
);
}
/**
* 创建快捷支付确认
*
* @param requestParams 请求参数
* @param merchantKey merchantKey
* @return 快捷支付确认
*/
public
static
Dictionary
<
string
,
Object
>
confirm
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
FAST_PAY_CONFIRM
,
merchantKey
);
}
/**
* 快捷支付短信重发
*
* @param requestParams 请求参数
* @param merchantKey merchantKey
* @return 快捷支付短信重发
*/
public
static
Dictionary
<
string
,
Object
>
smsCode
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
FAST_PAY_SMS_CODE
,
merchantKey
);
}
}
}
Mall.ThirdCore/Adapay/AdapaySDK/FreezeAccount.cs
0 → 100644
View file @
4f11ca23
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
namespace
AdapaySDK
{
public
class
FreezeAccount
{
/**
* 创建账户冻结对象
*
* @param requestParams 请求参数
* @param merchantKey merchantKey
* @return 账户冻结对象
*/
public
static
Dictionary
<
string
,
Object
>
create
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
FREEZE_ACCOUNT_CREATE
,
null
);
}
/**
* 创建账户冻结对象
*
* @param requestParams 请求参数
* @param merchantKey merchantKey
* @return 账户冻结对象
*/
public
static
Dictionary
<
string
,
Object
>
create
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
FREEZE_ACCOUNT_CREATE
,
merchantKey
);
}
/**
* 查询账户冻结对象列表
*
* @param requestParams 请求参数
* @param merchantKey merchantKey
* @return 账户冻结对象
*/
public
static
Dictionary
<
string
,
Object
>
queryList
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
APIUrlEnum
.
FREEZE_ACCOUNT_LIST
,
null
);
}
/**
* 查询账户冻结对象列表
*
* @param requestParams 请求参数
* @param merchantKey merchantKey
* @return 账户冻结对象
*/
public
static
Dictionary
<
string
,
Object
>
queryList
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
APIUrlEnum
.
FREEZE_ACCOUNT_LIST
,
merchantKey
);
}
}
}
Mall.ThirdCore/Adapay/AdapaySDK/Member.cs
0 → 100644
View file @
4f11ca23
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
AdapaySDK
{
public
class
Member
{
/**
* 创建用户对象
*
* @param requestParams 创建用户对象的请求参数,参见 AdaPay api
* @param merchantKey merchantKey
* @return 创建用户对象
* @ 异常
*/
public
static
Dictionary
<
string
,
Object
>
create
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
MEMBER_V1
,
merchantKey
);
}
/**
* 查询用户对象
*
* @param requestParams 查询用户对象的请求参数,参见 AdaPay api
* @param merchantKey merchantKey
* @return 查询的用户对象
* @ 异常
*/
public
static
Dictionary
<
string
,
Object
>
query
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
string
memberId
=
StringUtils
.
tryGetNotNullValue
(
requestParams
,
"member_id"
);
string
uri
=
new
StringBuilder
(
APIUrlEnum
.
QUERY_MEMBER_V1
).
Append
(
memberId
).
ToString
();
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
uri
,
merchantKey
);
}
/**
* 查询用户列表
*
* @param requestParams 查询用户列表的请求参数,参见 AdaPay api
* @param merchantKey merchantKey
* @return 查询的用户列表
* @ 异常
*/
public
static
Dictionary
<
string
,
Object
>
queryList
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
APIUrlEnum
.
QUERY_MEMBER_LIST_V1
,
merchantKey
);
}
/**
* 更新用户对象
*
* @param requestParams 更新用户对象的请求参数,参见 AdaPay api
* @param merchantKey merchantKey
* @return 更新后的用户对象
* @ 异常
*/
public
static
Dictionary
<
string
,
Object
>
update
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
UPDATE_MEMBER_V1
,
merchantKey
);
}
/**
* 创建用户对象
*
* @param requestParams 创建用户对象的请求参数,参见 AdaPay api
* @return 创建用户对象
* @ 异常
*/
public
static
Dictionary
<
string
,
Object
>
create
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
MEMBER_V1
,
null
);
}
/**
* 查询用户对象
*
* @param requestParams 查询用户对象的请求参数,参见 AdaPay api
* @return 查询的用户对象
* @ 异常
*/
public
static
Dictionary
<
string
,
Object
>
query
(
Dictionary
<
string
,
object
>
requestParams
)
{
string
memberId
=
StringUtils
.
tryGetNotNullValue
(
requestParams
,
"member_id"
);
string
uri
=
new
StringBuilder
(
APIUrlEnum
.
QUERY_MEMBER_V1
).
Append
(
memberId
).
ToString
();
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
uri
,
null
);
}
/**
* 查询用户列表
*
* @param requestParams 查询用户列表的请求参数,参见 AdaPay api
* @return 查询的用户列表
* @ 异常
*/
public
static
Dictionary
<
string
,
Object
>
queryList
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
QUERY_MEMBER_LIST_V1
,
null
);
}
/**
* 更新用户对象
*
* @param requestParams 更新用户对象的请求参数,参见 AdaPay api
* @return 更新后的用户对象
* @ 异常
*/
public
static
Dictionary
<
string
,
Object
>
update
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
UPDATE_MEMBER_V1
,
null
);
}
}
}
Mall.ThirdCore/Adapay/AdapaySDK/Payment.cs
0 → 100644
View file @
4f11ca23
using
System
;
using
System.Collections.Generic
;
using
AdapayCore
;
using
System.Text
;
namespace
AdapaySDK
{
public
class
Payment
{
/**
* 创建一个支付交易
*
* @param requestParams 创建支付的请求参数,参见 AdaPay api
* @param merchantKey merchantKey
* @return 创建的支付对象
*/
public
static
Dictionary
<
string
,
Object
>
create
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
object
currency
=
null
;
requestParams
.
TryGetValue
(
"currency"
,
out
currency
);
if
(
currency
==
null
)
{
requestParams
.
Add
(
"currency"
,
"cny"
);
}
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
PAYMENT_V1
,
merchantKey
);
}
/**
* create Payment
*/
public
static
Dictionary
<
string
,
Object
>
create
(
Dictionary
<
string
,
object
>
requestParams
)
{
object
currency
=
null
;
requestParams
.
TryGetValue
(
"currency"
,
out
currency
);
if
(
currency
==
null
)
{
requestParams
.
Add
(
"currency"
,
"cny"
);
}
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
PAYMENT_V1
,
null
);
}
/**
* 关闭一个支付
*
* @param requestParams 要关闭的支付id
* @param merchantKey merchantKey
* @return 关闭的支付对象
*/
public
static
Dictionary
<
string
,
Object
>
close
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
string
paymentId
=
StringUtils
.
tryGetNotNullValue
(
requestParams
,
"payment_id"
);
string
uri
=
new
StringBuilder
(
APIUrlEnum
.
CLOSE_PAYMENT_V1
).
Append
(
paymentId
).
Append
(
"/close"
).
ToString
();
//requestParams.Remove("payment_id");
return
AdapayRequest
.
requestAdapay
(
requestParams
,
uri
,
merchantKey
);
}
/**
* 关闭一个支付
*
* @param requestParams 要关闭的支付id
* @param merchantKey merchantKey
* @return 关闭的支付对象
*/
public
static
Dictionary
<
string
,
Object
>
close
(
Dictionary
<
string
,
object
>
requestParams
)
{
string
paymentId
=
StringUtils
.
tryGetNotNullValue
(
requestParams
,
"payment_id"
);
string
uri
=
new
StringBuilder
(
APIUrlEnum
.
CLOSE_PAYMENT_V1
).
Append
(
paymentId
).
Append
(
"/close"
).
ToString
();
//requestParams.Remove("payment_id");
return
AdapayRequest
.
requestAdapay
(
requestParams
,
uri
,
null
);
}
/**
* 查询已有的支付信息
* @param requestParams 要查询的支付参数
* @param merchantKey merchantKey
* @return 查询的支付对象
*/
public
static
Dictionary
<
string
,
Object
>
query
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
string
paymentId
=
StringUtils
.
tryGetNotNullValue
(
requestParams
,
"payment_id"
);
string
uri
=
new
StringBuilder
(
APIUrlEnum
.
QUERY_PAYMENT_V1
).
Append
(
paymentId
).
ToString
();
//requestParams.Remove("payment_id");
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
uri
,
merchantKey
);
}
/**
* 查询已有的支付信息
*
* @param requestParams 要查询的支付id
* @return 查询的支付对象
*/
public
static
Dictionary
<
string
,
Object
>
query
(
Dictionary
<
string
,
object
>
requestParams
)
{
string
paymentId
=
StringUtils
.
tryGetNotNullValue
(
requestParams
,
"payment_id"
);
string
uri
=
new
StringBuilder
(
APIUrlEnum
.
QUERY_PAYMENT_V1
).
Append
(
paymentId
).
ToString
();
//requestParams.Remove("payment_id");
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
uri
,
null
);
}
/**
* 查询已有的支付信息列表
* @param requestParams
* @param merchantKey merchantKey
* @return 查询的支付对象列表
*/
public
static
Dictionary
<
string
,
Object
>
queryList
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
APIUrlEnum
.
LIST_PAYMENT_V1
,
merchantKey
);
}
/**
* 查询已有的支付信息列表
*
* @param requestParams
* @return 查询的支付对象列表
*/
public
static
Dictionary
<
string
,
Object
>
queryList
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
APIUrlEnum
.
LIST_PAYMENT_V1
,
null
);
}
}
}
Mall.ThirdCore/Adapay/AdapaySDK/PaymentConfirm.cs
0 → 100644
View file @
4f11ca23
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
namespace
AdapaySDK
{
public
class
PaymentConfirm
{
/**
* 创建支付确认对象
*
* @param requestParams 创建支付确认对象参数
* @param merchantKey merchantKey
* @return 查询的支付对象
*/
public
static
Dictionary
<
string
,
Object
>
create
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
CONFIRM_PAYMENT_V1
,
merchantKey
);
}
/**
* 创建支付确认对象
*
* @param requestParams 创建支付确认对象参数
* @return 查询的支付对象
*/
public
static
Dictionary
<
string
,
Object
>
create
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
CONFIRM_PAYMENT_V1
,
null
);
}
/**
* 查询已有的支付确认对象列表
*
* @param requestParams 要查询的支付撤销对象参数
* @param merchantKey merchantKey
* @return 查询的支付撤销对象
*/
public
static
Dictionary
<
string
,
Object
>
queryList
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
APIUrlEnum
.
CONFIRM_PAYMENT_LIST_V1
,
merchantKey
);
}
/**
* 查询已有的支付确认对象列表
*
* @param requestParams 要查询的支付撤销对象参数
* @param merchantKey merchantKey
* @return 查询的支付撤销对象
*/
public
static
Dictionary
<
string
,
Object
>
queryList
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
APIUrlEnum
.
CONFIRM_PAYMENT_LIST_V1
,
null
);
}
/**
* 查询已有的支付确认对象
*
* @param requestParams 要查询的支付确认对象参数
* @param merchantKey merchantKey
* @return 查询的支付撤销对象
*/
public
static
Dictionary
<
string
,
Object
>
query
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
string
paymentConfirmId
=
StringUtils
.
tryGetNotNullValue
(
requestParams
,
"payment_confirm_id"
);
string
uri
=
new
StringBuilder
(
APIUrlEnum
.
QUERY_CONFIRM_PAYMENT_V1
).
Append
(
paymentConfirmId
).
ToString
();
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
uri
,
merchantKey
);
}
/**
* 查询已有的支付确认对象
*
* @param requestParams 要查询的支付确认对象参数
* @param merchantKey merchantKey
* @return 查询的支付撤销对象
*/
public
static
Dictionary
<
string
,
Object
>
query
(
Dictionary
<
string
,
object
>
requestParams
)
{
string
paymentConfirmId
=
StringUtils
.
tryGetNotNullValue
(
requestParams
,
"payment_confirm_id"
);
string
uri
=
new
StringBuilder
(
APIUrlEnum
.
QUERY_CONFIRM_PAYMENT_V1
).
Append
(
paymentConfirmId
).
ToString
();
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
uri
,
null
);
}
}
}
Mall.ThirdCore/Adapay/AdapaySDK/PaymentReverse.cs
0 → 100644
View file @
4f11ca23
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
namespace
AdapaySDK
{
public
class
PaymentReverse
{
/**
* 创建撤销对象
*
* @param requestParams 创建支付撤销对象参数
* @param merchantKey merchantKey
* @return 查询的支付对象
*/
public
static
Dictionary
<
string
,
Object
>
create
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
REVERSE_PAYMENT_V1
,
merchantKey
);
}
/**
* 创建撤销对象
*
* @param requestParams 创建支付撤销对象参数
* @return 查询的支付对象
*/
public
static
Dictionary
<
string
,
Object
>
create
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
REVERSE_PAYMENT_V1
,
null
);
}
/**
* 查询已有的支付撤销对象列表
*
* @param requestParams 要查询的支付撤销对象参数
* @param merchantKey merchantKey
* @return 查询的支付撤销对象
*/
public
static
Dictionary
<
string
,
Object
>
queryList
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
APIUrlEnum
.
REVERSE_PAYMENT_LIST_V1
,
merchantKey
);
}
/**
* 查询已有的支付撤销对象列表
*
* @param requestParams 要查询的支付撤销对象参数
* @return 查询的支付撤销对象
*/
public
static
Dictionary
<
string
,
Object
>
queryList
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
APIUrlEnum
.
REVERSE_PAYMENT_LIST_V1
,
null
);
}
/**
* 查询已有的支付撤销对象
*
* @param requestParams 要查询的支付撤销对象参数
* @param merchantKey merchantKey
* @return 查询的支付撤销对象
*/
public
static
Dictionary
<
string
,
Object
>
query
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
string
reverseId
=
StringUtils
.
tryGetNotNullValue
(
requestParams
,
"reverse_id"
);
string
uri
=
new
StringBuilder
(
APIUrlEnum
.
QUERY_REVERSE_PAYMENT_V1
).
Append
(
reverseId
).
ToString
();
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
uri
,
merchantKey
);
}
/**
* 查询已有的支付撤销对象
*
* @param requestParams 要查询的支付撤销对象参数
* @param merchantKey merchantKey
* @return 查询的支付撤销对象
*/
public
static
Dictionary
<
string
,
Object
>
query
(
Dictionary
<
string
,
object
>
requestParams
)
{
string
reverseId
=
StringUtils
.
tryGetNotNullValue
(
requestParams
,
"reverse_id"
);
string
uri
=
new
StringBuilder
(
APIUrlEnum
.
QUERY_REVERSE_PAYMENT_V1
).
Append
(
reverseId
).
ToString
();
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
uri
,
null
);
}
}
}
Mall.ThirdCore/Adapay/AdapaySDK/Refund.cs
0 → 100644
View file @
4f11ca23
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
using
System.Collections
;
namespace
AdapaySDK
{
public
class
Refund
{
/**
* create refund for multi merchant
*/
public
static
Dictionary
<
string
,
Object
>
create
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
string
id
=
StringUtils
.
tryGetNotNullValue
(
requestParams
,
"id"
);
string
uri
=
new
StringBuilder
(
APIUrlEnum
.
REFUND_V1
).
Append
(
id
).
Append
(
"/refunds"
).
ToString
();
return
AdapayRequest
.
requestAdapay
(
requestParams
,
uri
,
merchantKey
);
}
/**
* create refund for multi merchant
*/
public
static
Dictionary
<
string
,
Object
>
create
(
Dictionary
<
string
,
object
>
requestParams
)
{
string
id
=
StringUtils
.
tryGetNotNullValue
(
requestParams
,
"id"
);
string
uri
=
new
StringBuilder
(
APIUrlEnum
.
REFUND_V1
).
Append
(
id
).
Append
(
"/refunds"
).
ToString
();
return
AdapayRequest
.
requestAdapay
(
requestParams
,
uri
,
null
);
}
/**
* query refund for multi merchant
*/
public
static
Dictionary
<
string
,
Object
>
query
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
APIUrlEnum
.
QUERY_REFUND_V1
,
merchantKey
);
}
/**
* query refund
*/
public
static
Dictionary
<
string
,
Object
>
query
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
APIUrlEnum
.
QUERY_REFUND_V1
,
null
);
}
}
}
Mall.ThirdCore/Adapay/AdapaySDK/SettleAccount.cs
0 → 100644
View file @
4f11ca23
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
namespace
AdapaySDK
{
public
class
SettleAccount
{
/**
* 创建结算账户对象
*
* @param params 创建结算账户对象的请求参数,参见 AdaPay api
* @param merchantKey merchantKey
* @return 创建结算账户对象
* @ 异常
*/
public
static
Dictionary
<
string
,
Object
>
create
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
SETTLE_ACCOUNT_V1
,
merchantKey
);
}
/**
* 查询结算账户对象
*
* @param params 查询结算账户对象的请求参数,参见 AdaPay api
* @param merchantKey merchantKey
* @return 查询的结算账户对象
* @ 异常
*/
public
static
Dictionary
<
string
,
Object
>
query
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
string
settleAccountId
=
StringUtils
.
tryGetNotNullValue
(
requestParams
,
"settle_account_id"
);
string
uri
=
new
StringBuilder
(
APIUrlEnum
.
QUERY_SETTLE_ACCOUNT_V1
).
Append
(
settleAccountId
).
ToString
();
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
uri
,
merchantKey
);
}
/**
* 删除结算账户对象
*
* @param params 删除结算账户对象的请求参数,参见 AdaPay api
* @param merchantKey merchantKey
* @return 删除的结算账户对象
* @ 异常
*/
public
static
Dictionary
<
string
,
Object
>
delete
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
DELETE_SETTLE_ACCOUNT_V1
,
merchantKey
);
}
/**
* 查询结算明细列表
*
* @param params 查询结算明细列表的请求参数,参见 AdaPay api
* @param merchantKey merchantKey
* @return 查询的结算账户对象
* @ 异常
*/
public
static
Dictionary
<
string
,
Object
>
details
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
APIUrlEnum
.
QUERY_SETTLE_DETAILS_V1
,
merchantKey
);
}
/**
* 创建结算账户对象
*
* @param params 创建结算账户对象的请求参数,参见 AdaPay api
* @return 创建结算账户对象
* @ 异常
*/
public
static
Dictionary
<
string
,
Object
>
create
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
SETTLE_ACCOUNT_V1
,
null
);
}
/**
* 查询结算账户对象
*
* @param params 查询结算账户对象的请求参数,参见 AdaPay api
* @return 查询的结算账户对象
* @ 异常
*/
public
static
Dictionary
<
string
,
Object
>
query
(
Dictionary
<
string
,
object
>
requestParams
)
{
string
settleAccountId
=
StringUtils
.
tryGetNotNullValue
(
requestParams
,
"settle_account_id"
);
string
uri
=
new
StringBuilder
(
APIUrlEnum
.
QUERY_SETTLE_ACCOUNT_V1
).
Append
(
settleAccountId
).
ToString
();
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
uri
,
null
);
}
/**
* 删除结算账户对象
*
* @param params 删除结算账户对象的请求参数,参见 AdaPay api
* @return 删除的结算账户对象
* @ 异常
*/
public
static
Dictionary
<
string
,
Object
>
delete
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
DELETE_SETTLE_ACCOUNT_V1
,
null
);
}
/**
* 查询结算明细列表
*
* @param params 查询结算明细列表的请求参数,参见 AdaPay api
* @return 查询的结算账户对象
* @ 异常
*/
public
static
Dictionary
<
string
,
Object
>
details
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
APIUrlEnum
.
QUERY_SETTLE_DETAILS_V1
,
null
);
}
/**
* 修改结算账户配置
*
* @param params 修改结算账户配置的请求参数,参见 AdaPay api
* @return 修改的结算账户对象
* @ 异常
*/
public
static
Dictionary
<
string
,
Object
>
update
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
MODIFY_SETTLE_ACCOUNT_V1
,
null
);
}
/**
* 修改结算账户配置
*
* @param params 修改结算账户配置的请求参数,参见 AdaPay api
* @return 修改的结算账户对象
* @ 异常
*/
public
static
Dictionary
<
string
,
Object
>
update
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
MODIFY_SETTLE_ACCOUNT_V1
,
merchantKey
);
}
}
}
Mall.ThirdCore/Adapay/AdapaySDK/Transfer.cs
0 → 100644
View file @
4f11ca23
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
namespace
AdapaySDK
{
public
class
Transfer
{
/**
* 创建转账对象
*
* @param requestParams 请求参数
* @param merchantKey merchantKey
* @return 创建转账对象
*/
public
static
Dictionary
<
string
,
Object
>
create
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
CREATE_TRANSFER
,
null
);
}
/**
* 创建转账对象
*
* @param requestParams 请求参数
* @param merchantKey merchantKey
* @return 创建转账对象
*/
public
static
Dictionary
<
string
,
Object
>
create
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
CREATE_TRANSFER
,
merchantKey
);
}
/**
* 查询账户转账对象列表
*
* @param requestParams 请求参数
* @param merchantKey merchantKey
* @return 账户转账对象列表
*/
public
static
Dictionary
<
string
,
Object
>
queryList
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
APIUrlEnum
.
TRANSFER_LIST
,
null
);
}
/**
* 查询账户转账对象列表
*
* @param requestParams 请求参数
* @param merchantKey merchantKey
* @return 账户转账对象列表
*/
public
static
Dictionary
<
string
,
Object
>
queryList
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
APIUrlEnum
.
TRANSFER_LIST
,
merchantKey
);
}
}
}
Mall.ThirdCore/Adapay/AdapaySDK/UnFreezeAccount.cs
0 → 100644
View file @
4f11ca23
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
namespace
AdapaySDK
{
public
class
UnFreezeAccount
{
/**
* 创建账户解冻对象
*
* @param requestParams 请求参数
* @param merchantKey merchantKey
* @return 创建账户解冻对象
*/
public
static
Dictionary
<
string
,
Object
>
create
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
UN_FREEZE_ACCOUNT_CREATE
,
null
);
}
/**
* 创建账户解冻对象
*
* @param requestParams 请求参数
* @param merchantKey merchantKey
* @return 创建账户解冻对象
*/
public
static
Dictionary
<
string
,
Object
>
create
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
requestAdapay
(
requestParams
,
APIUrlEnum
.
UN_FREEZE_ACCOUNT_CREATE
,
merchantKey
);
}
/**
* 查询账户解冻对象列表
*
* @param requestParams 请求参数
* @param merchantKey merchantKey
* @return 查询账户解冻对象列表
*/
public
static
Dictionary
<
string
,
Object
>
queryList
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
APIUrlEnum
.
UN_FREEZE_ACCOUNT_LIST
,
null
);
}
/**
* 查询账户解冻对象列表
*
* @param requestParams 请求参数
* @param merchantKey merchantKey
* @return 查询账户解冻对象列表
*/
public
static
Dictionary
<
string
,
Object
>
queryList
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
APIUrlEnum
.
UN_FREEZE_ACCOUNT_LIST
,
APIUrlEnum
.
UN_FREEZE_ACCOUNT_CREATE
);
}
}
}
Mall.ThirdCore/Adapay/AdapaySDK/Wallet.cs
0 → 100644
View file @
4f11ca23
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
AdapaySDK
{
public
class
Wallet
{
/**
* 获取登录信息
*
* @param requestParams 登录请求参数,参见 AdaPay api
* @param merchantKey merchantKey
* @return 跳转页面信息
*/
public
static
Dictionary
<
string
,
Object
>
login
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
requestAdapayPageServer
(
requestParams
,
APIUrlEnum
.
WALLET_LOGIN
,
merchantKey
);
}
/**
* 获取登录信息
*
* @param requestParams 登录请求参数,参见 AdaPay api
* @param merchantKey merchantKey
* @return 跳转页面信息
*/
public
static
Dictionary
<
string
,
Object
>
login
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
requestAdapayPageServer
(
requestParams
,
APIUrlEnum
.
WALLET_LOGIN
,
null
);
}
/**
* 查询帐户余额
*
* @param params 查询帐户余额的请求参数,参见 AdaPay api
* @return 帐户余额
*/
public
static
Dictionary
<
string
,
Object
>
balance
(
Dictionary
<
string
,
object
>
requestParams
)
{
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
APIUrlEnum
.
QUERY_BALANCE
,
null
);
}
/**
* 查询帐户余额
*
* @param params 查询帐户余额的请求参数,参见 AdaPay api
* @return 帐户余额
*/
public
static
Dictionary
<
string
,
Object
>
balance
(
Dictionary
<
string
,
object
>
requestParams
,
string
merchantKey
)
{
return
AdapayRequest
.
getRequestAdapay
(
requestParams
,
APIUrlEnum
.
QUERY_BALANCE
,
merchantKey
);
}
}
}
Mall.ThirdCore/Adapay/Model/GetUnassignedListResult.cs
0 → 100644
View file @
4f11ca23
using
System.Collections.Generic
;
namespace
Mall.ThirdCore.Adapay.Model
{
/// <summary>
/// 汇付天下 支付回调
/// </summary>
public
class
AdaPayResultModel
{
/// <summary>
/// 由 Adapay 生成的支付对象 id, 该 id 在 Adapay 系统内唯一
/// </summary>
public
string
id
{
get
;
set
;
}
/// <summary>
/// 支付创建时的 10 位时间戳
/// </summary>
public
string
created_time
{
get
;
set
;
}
/// <summary>
/// 请求订单号,只能为英文、数字或者下划线的一种或多种组合,保证在app_id下唯一
/// </summary>
public
string
order_no
{
get
;
set
;
}
/// <summary>
/// 是否 prod模式,true 是 prod模式,false 是 mock模式
/// </summary>
public
string
prod_mode
{
get
;
set
;
}
/// <summary>
/// 控制台 主页面应用的app_id
/// </summary>
public
string
app_id
{
get
;
set
;
}
/// <summary>
/// 支付渠道,参见 支付渠道 说明
/// </summary>
public
string
pay_channel
{
get
;
set
;
}
/// <summary>
/// 交易金额(必须大于 0),保留两位小数点,如0.10、100.05等
/// </summary>
public
decimal
pay_amt
{
get
;
set
;
}
/// <summary>
/// 详见 货币代码
/// </summary>
public
string
currency
{
get
;
set
;
}
/// <summary>
/// 可临时用来查询支付订单状态的链接,此链接的有效期只有30分钟
/// </summary>
public
string
query_url
{
get
;
set
;
}
/// <summary>
/// 订单附加说明
/// </summary>
public
string
description
{
get
;
set
;
}
/// <summary>
/// 支付渠道请求成功返回的额外参数。详见 支付渠道 expend参数 说明
/// </summary>
public
object
expend
{
get
;
set
;
}
/// <summary>
/// 用户账单上的商户订单号
/// </summary>
public
string
party_order_id
{
get
;
set
;
}
/// <summary>
/// 用户账单上的交易订单号
/// </summary>
public
string
out_trans_id
{
get
;
set
;
}
/// <summary>
/// 用户支付完成时间
/// </summary>
public
string
end_time
{
get
;
set
;
}
/// <summary>
/// 当前交易状态,参见 状态 说明
/// </summary>
public
string
status
{
get
;
set
;
}
/// <summary>
/// 错误码,详见 错误
/// </summary>
public
string
error_code
{
get
;
set
;
}
/// <summary>
/// 错误描述,详见 错误
/// </summary>
public
string
error_msg
{
get
;
set
;
}
/// <summary>
/// 错误类型,详见 错误
/// </summary>
public
string
error_type
{
get
;
set
;
}
/// <summary>
/// 当发生参数错误时返回具体的参数名,便于定位错误原因,详见 错误
/// </summary>
public
string
invalid_param
{
get
;
set
;
}
//以下退款
/// <summary>
/// 退款单号
/// </summary>
public
string
refund_order_no
{
get
;
set
;
}
/// <summary>
/// 退费描述
/// </summary>
public
string
reason
{
get
;
set
;
}
/// <summary>
/// 退款目标 =>支付对象 id
/// </summary>
public
string
payment_id
{
get
;
set
;
}
/// <summary>
/// 退款目标 =>支付对象订单号
/// </summary>
public
string
payment_order_no
{
get
;
set
;
}
/// <summary>
/// 退款金额
/// </summary>
public
decimal
refund_amt
{
get
;
set
;
}
/// <summary>
/// 退款手续费
/// </summary>
public
decimal
fee_amt
{
get
;
set
;
}
}
}
Mall.WebApi/Controllers/Adapay/AdapayCallBackController.cs
0 → 100644
View file @
4f11ca23
using
System
;
using
System.Collections.Generic
;
using
System.IO
;
using
System.Linq
;
using
AdapayCore
;
using
Mall.Common.Plugin
;
using
Mall.Module.User
;
using
Mall.Repository.Education
;
using
Mall.ThirdCore.Adapay.Model
;
using
Mall.WebApi.Filter
;
using
Microsoft.AspNetCore.Cors
;
using
Microsoft.AspNetCore.Http
;
using
Microsoft.AspNetCore.Mvc
;
using
Newtonsoft.Json
;
using
Newtonsoft.Json.Linq
;
namespace
Mall.WebApi.Controllers.Adapay
{
[
Route
(
"api/[controller]/[action]"
)]
[
ApiExceptionFilter
]
[
ApiController
]
[
EnableCors
(
"AllowCors"
)]
public
class
AdapayCallBackController
:
ControllerBase
{
private
readonly
UserCommonModule
userCommonModule
=
new
UserCommonModule
();
#
region
汇付天下接收事件
/// <summary>
/// 汇付天下支付回调
/// </summary>
[
HttpPost
]
public
string
AdapayCallBackEvent
()
{
LogHelper
.
WriteInfo
(
"汇付天下 支付回调进来了"
);
#
region
Post
请求的密文数据
Request
.
EnableBuffering
();
string
responseData
=
""
;
using
(
var
reader
=
new
StreamReader
(
Request
.
Body
,
encoding
:
System
.
Text
.
Encoding
.
UTF8
))
{
var
body
=
reader
.
ReadToEndAsync
();
responseData
=
body
.
Result
;
Request
.
Body
.
Position
=
0
;
}
#
endregion
LogHelper
.
WriteInfo
(
"回调参数:"
+
responseData
);
#
region
解码参数
try
{
responseData
=
System
.
Web
.
HttpUtility
.
UrlDecode
(
responseData
);
List
<
string
>
rlist
=
responseData
.
Split
(
'&'
).
ToList
();
Dictionary
<
string
,
string
>
expendDict
=
new
Dictionary
<
string
,
string
>();
foreach
(
var
item
in
rlist
)
{
string
[]
values
=
item
.
Split
(
'='
);
expendDict
.
Add
(
values
[
0
],
values
[
1
]);
}
//验签请参data
expendDict
.
TryGetValue
(
"data"
,
out
string
data
);
//验签请参sign
expendDict
.
TryGetValue
(
"sign"
,
out
string
sign
);
//事件类型
expendDict
.
TryGetValue
(
"type"
,
out
string
type
);
//验签
bool
checkSign
=
NetUtils
.
verfySign
(
sign
,
data
);
if
(
checkSign
)
{
//验签成功逻辑
LogHelper
.
WriteInfo
(
"成功返回数据data:"
+
data
);
//退款返回
//data = '{"object":"refund","status":"succeeded","prod_mode":"true","id":"0021120220718133304980394978062292664320","refund_order_no":"R202207181658151172712","payment_id":"002112022071419472310393622712813637632","payment_order_no":"202207141657828044797","refund_amt":"0.01","fee_amt":"0.00","channel_no":"2022071821R5j30g","created_time":"1658122384000","succeed_time":"1658122386000","app_id":"app_c474eae3-28a4-487b-9d07-c92c228c9a0b"}';
AdaPayResultModel
payMdoel
=
JsonHelper
.
DeserializeObject
<
AdaPayResultModel
>(
data
);
switch
(
type
)
{
case
"payment.succeeded"
:
//支付成功
//异步操作订单实收 新增财务单据
System
.
Threading
.
Tasks
.
Task
.
Run
(()
=>
userCommonModule
.
InsertAdapayOrderTrade
(
payMdoel
));
break
;
case
"payment.failed"
:
//支付失败
LogHelper
.
WriteInfo
(
"订单支付失败:"
+
data
);
break
;
case
"refund.succeeded"
:
//退款成功
break
;
case
"refund.failed"
:
//退款失败
break
;
case
"fastpay.succeeded"
:
// 快捷支付确认成功
break
;
case
"fastpay.failed"
:
// 快捷支付确认失败
break
;
}
}
else
{
//验签失败逻辑
LogHelper
.
WriteInfo
(
"签名效验失败"
);
}
}
catch
(
Exception
ex
)
{
LogHelper
.
Write
(
ex
,
"AdapayCallBackEvent"
);
}
#
endregion
return
""
;
}
#
endregion
}
}
\ No newline at end of file
Mall.WebApi/Controllers/Adapay/AdapayController.cs
0 → 100644
View file @
4f11ca23
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment