Skip to content

Commit d586565

Browse files
authored
Merge pull request #19 from wandercn/doc
Doc
2 parents 80e3a9e + 4878f07 commit d586565

File tree

6 files changed

+67
-48
lines changed

6 files changed

+67
-48
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ Cargo.lock
1616
/Cargo.lock
1717
.idea/workspace.xml
1818
.idea/vcs.xml
19+
.idea/*
1920
cjlintignore.cfg
2021
.DS_Store
2122
.vscode/settings.json

.idea/.gitignore

Lines changed: 0 additions & 8 deletions
This file was deleted.

.idea/alipay_sdk_rust.iml

Lines changed: 0 additions & 11 deletions
This file was deleted.

.idea/modules.xml

Lines changed: 0 additions & 8 deletions
This file was deleted.

Cargo.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "alipay_sdk_rust"
33
license = "MIT"
4-
version = "1.0.14"
4+
version = "1.0.15"
55
edition = "2018"
66
authors = ["wandercn<[email protected]>"]
77
description = "AliPay Sdk for Rust"
@@ -25,4 +25,3 @@ x509-parser = "0.17.0"
2525
md5 = "0.7.0"
2626
thiserror ="2.0"
2727
anyhow= "1.0"
28-
chrono = "0.4.41"

src/pay.rs

Lines changed: 65 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,19 @@ use gostd::net::http;
1717
use gostd::net::url;
1818
use serde::{Deserialize, Serialize};
1919

20-
use crate::biz::{self, BizContenter, BizObject, TradeAppPayBiz, TradeCancelBiz, TradeCloseBiz, TradeCreateBiz, TradeFastpayRefundQueryBiz, TradeOrderSettleBiz, TradeOrderSettleQueryBiz, TradePagePayBiz, TradePageRefundBiz, TradePayBiz, TradePrecreateBiz, TradeQueryBiz, TradeRefundBiz, TradeRoyaltyRelationBindBiz, TradeRoyaltyRelationUnBindBiz, TradeWapPayBiz};
20+
use crate::biz::{
21+
self, BizContenter, BizObject, TradeAppPayBiz, TradeCancelBiz, TradeCloseBiz, TradeCreateBiz,
22+
TradeFastpayRefundQueryBiz, TradeOrderSettleBiz, TradeOrderSettleQueryBiz, TradePagePayBiz,
23+
TradePageRefundBiz, TradePayBiz, TradePrecreateBiz, TradeQueryBiz, TradeRefundBiz,
24+
TradeRoyaltyRelationBindBiz, TradeRoyaltyRelationUnBindBiz, TradeWapPayBiz,
25+
};
2126
use crate::request::{Request, Requester};
22-
use crate::response::{self, TradeCancelResponse, TradeCloseResponse, TradeCreateResponse, TradeFastpayRefundQueryResponse, TradeOrderSettleQueryResponse, TradeOrderSettleResponse, TradePageRefundResponse, TradePayResponse, TradePrecreateResponse, TradeQueryResponse, TradeRefundResponse, TradeRoyaltyRelationBindResponse, TradeRoyaltyRelationUnBindResponse};
27+
use crate::response::{
28+
self, TradeCancelResponse, TradeCloseResponse, TradeCreateResponse,
29+
TradeFastpayRefundQueryResponse, TradeOrderSettleQueryResponse, TradeOrderSettleResponse,
30+
TradePageRefundResponse, TradePayResponse, TradePrecreateResponse, TradeQueryResponse,
31+
TradeRefundResponse, TradeRoyaltyRelationBindResponse, TradeRoyaltyRelationUnBindResponse,
32+
};
2333
use crate::util::{self, build_form, json_get};
2434
pub trait Payer {
2535
fn trade_create(&self, biz_content: &TradeCreateBiz) -> AliPayResult<TradeCreateResponse>;
@@ -51,15 +61,27 @@ pub trait Payer {
5161
&self,
5262
biz_content: &TradeFastpayRefundQueryBiz,
5363
) -> AliPayResult<TradeFastpayRefundQueryResponse>;
54-
55-
fn trade_order_settle(&self, biz_content: &TradeOrderSettleBiz) -> AliPayResult<TradeOrderSettleResponse>;
56-
57-
fn trade_order_settle_query(&self, biz_content: &TradeOrderSettleQueryBiz) -> AliPayResult<TradeOrderSettleQueryResponse>;
58-
59-
fn trade_royalty_relation_bind(&self, biz_content: &TradeRoyaltyRelationBindBiz) -> AliPayResult<TradeRoyaltyRelationBindResponse>;
60-
61-
fn trade_royalty_relation_unbind(&self, biz_content: &TradeRoyaltyRelationUnBindBiz) -> AliPayResult<TradeRoyaltyRelationUnBindResponse>;
62-
64+
65+
fn trade_order_settle(
66+
&self,
67+
biz_content: &TradeOrderSettleBiz,
68+
) -> AliPayResult<TradeOrderSettleResponse>;
69+
70+
fn trade_order_settle_query(
71+
&self,
72+
biz_content: &TradeOrderSettleQueryBiz,
73+
) -> AliPayResult<TradeOrderSettleQueryResponse>;
74+
75+
fn trade_royalty_relation_bind(
76+
&self,
77+
biz_content: &TradeRoyaltyRelationBindBiz,
78+
) -> AliPayResult<TradeRoyaltyRelationBindResponse>;
79+
80+
fn trade_royalty_relation_unbind(
81+
&self,
82+
biz_content: &TradeRoyaltyRelationUnBindBiz,
83+
) -> AliPayResult<TradeRoyaltyRelationUnBindResponse>;
84+
6385
fn trade_close(&self, biz_content: &TradeCloseBiz) -> AliPayResult<TradeCloseResponse>;
6486
fn async_verify_sign(&self, raw_body: &[u8]) -> AliPayResult<bool>;
6587
}
@@ -283,55 +305,79 @@ impl Payer for PayClient {
283305
Ok(res)
284306
}
285307

286-
fn trade_order_settle(&self, biz_content: &TradeOrderSettleBiz) -> AliPayResult<TradeOrderSettleResponse> {
308+
/// <https://opendocs.alipay.com/open/c3b24498_alipay.trade.order.settle?pathHash=8790ac59&scene=common>
309+
///
310+
/// alipay.trade.order.settle(统一收单交易结算接口) 用于在卖家交易成功之后,基于交易订单,进行卖家与第三方(如供应商或平台商)的资金再分配。一般用于第三方从卖家抽佣场景。
311+
fn trade_order_settle(
312+
&self,
313+
biz_content: &TradeOrderSettleBiz,
314+
) -> AliPayResult<TradeOrderSettleResponse> {
287315
let body = self.do_alipay(biz_content)?;
288316
let res: TradeOrderSettleResponse = serde_json::from_slice(&body)?;
289317
if res.response.code != Some("10000".to_string()) {
290318
log::debug!("{}", serde_json::to_string(&res)?);
291319
return Err(AliPayError(format!(
292-
"trade_page_refund failed: {} code:{}",
320+
"trade_order_settle failed: {} code:{}",
293321
res.response.sub_msg.unwrap().as_str(),
294322
res.response.sub_code.unwrap().as_str()
295323
)));
296324
}
297325
Ok(res)
298326
}
299327

300-
fn trade_order_settle_query(&self, biz_content: &TradeOrderSettleQueryBiz) -> AliPayResult<TradeOrderSettleQueryResponse> {
328+
/// <https://opendocs.alipay.com/open/9ef980b7_alipay.trade.order.settle.query?pathHash=131bacfc&scene=common>
329+
///
330+
/// alipay.trade.order.settle.query(交易分账查询接口) 根据分账请求号查询交易分账结果
331+
fn trade_order_settle_query(
332+
&self,
333+
biz_content: &TradeOrderSettleQueryBiz,
334+
) -> AliPayResult<TradeOrderSettleQueryResponse> {
301335
let body = self.do_alipay(biz_content)?;
302336
let res: TradeOrderSettleQueryResponse = serde_json::from_slice(&body)?;
303337
if res.response.code != Some("10000".to_string()) {
304338
log::debug!("{}", serde_json::to_string(&res)?);
305339
return Err(AliPayError(format!(
306-
"trade_page_refund failed: {} code:{}",
340+
"trade_order_settle_query failed: {} code:{}",
307341
res.response.msg.unwrap().as_str(),
308342
res.response.code.unwrap().as_str()
309343
)));
310344
}
311345
Ok(res)
312346
}
313347

314-
fn trade_royalty_relation_bind(&self, biz_content: &TradeRoyaltyRelationBindBiz) -> AliPayResult<TradeRoyaltyRelationBindResponse> {
348+
/// <https://opendocs.alipay.com/open/c21931d6_alipay.trade.royalty.relation.bind?pathHash=08a24dae&scene=common>
349+
///
350+
/// alipay.trade.royalty.relation.bind(分账关系绑定)当商户签约分账产品后,授权ISV帮其进行分账关系的维护。本接口用于商户与分账方的关系绑定。
351+
fn trade_royalty_relation_bind(
352+
&self,
353+
biz_content: &TradeRoyaltyRelationBindBiz,
354+
) -> AliPayResult<TradeRoyaltyRelationBindResponse> {
315355
let body = self.do_alipay(biz_content)?;
316356
let res: TradeRoyaltyRelationBindResponse = serde_json::from_slice(&body)?;
317357
if res.response.code != Some("10000".to_string()) {
318358
log::debug!("{}", serde_json::to_string(&res)?);
319359
return Err(AliPayError(format!(
320-
"trade_page_refund failed: {} code:{}",
360+
"trade_royalty_relation_bind failed: {} code:{}",
321361
res.response.msg.unwrap().as_str(),
322362
res.response.code.unwrap().as_str()
323363
)));
324364
}
325365
Ok(res)
326366
}
327367

328-
fn trade_royalty_relation_unbind(&self, biz_content: &TradeRoyaltyRelationUnBindBiz) -> AliPayResult<TradeRoyaltyRelationUnBindResponse> {
368+
/// <https://opendocs.alipay.com/open/3613f4e1_alipay.trade.royalty.relation.unbind?pathHash=2cbd3197&scene=common>
369+
///
370+
/// alipay.trade.royalty.relation.unbind(分账关系解绑)当商户签约分账产品后,授权ISV帮其进行分账关系的维护。本接口用于商户与分账方的关系解绑。
371+
fn trade_royalty_relation_unbind(
372+
&self,
373+
biz_content: &TradeRoyaltyRelationUnBindBiz,
374+
) -> AliPayResult<TradeRoyaltyRelationUnBindResponse> {
329375
let body = self.do_alipay(biz_content)?;
330376
let res: TradeRoyaltyRelationUnBindResponse = serde_json::from_slice(&body)?;
331377
if res.response.code != Some("10000".to_string()) {
332378
log::debug!("{}", serde_json::to_string(&res)?);
333379
return Err(AliPayError(format!(
334-
"trade_page_refund failed: {} code:{}",
380+
"trade_royalty_relation_unbind failed: {} code:{}",
335381
res.response.msg.unwrap().as_str(),
336382
res.response.code.unwrap().as_str()
337383
)));

0 commit comments

Comments
 (0)