Skip to content

Commit 528e726

Browse files
committed
修改支付流程
1 parent 3efbff1 commit 528e726

File tree

10 files changed

+10
-21
lines changed

10 files changed

+10
-21
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ dependencyResolutionManagement {
1717
dependencies {
1818
// 扩展包必须在有主框架dora的情况下使用
1919
implementation("com.github.dora4:dora:1.2.51")
20-
implementation("com.github.dora4:dora-walletconnect-support:1.27")
20+
implementation("com.github.dora4:dora-walletconnect-support:1.28")
2121
}
2222
```
2323

@@ -56,11 +56,11 @@ DoraTrade.connectWallet(this)
5656
init()中注册,则在回调处发送消息给处理界面。
5757
```kotlin
5858
DoraTrade.setPayListener(object : DoraTrade.PayListener {
59-
override fun onSendPaymentRequest(transactionHash: String) {
59+
override fun onSendPaymentRequest(orderId: String, transactionHash: String) {
6060
// 冷钱包已发起支付请求
6161
}
6262

63-
override fun onCancelPayment(transactionHash: String) {
63+
override fun onCancelPayment(orderId: String, transactionHash: String) {
6464
// 支付失败,用户点了冷钱包的取消支付
6565
}
6666
})
@@ -75,7 +75,7 @@ DoraTrade.pay(this,
7575
"填写收款方的钱包地址,如0xfF6FC0F28835F2C1FE23B15fb4488d976B06Dcd9",
7676
0.01,
7777
object: DoraTrade.OrderListener {
78-
override fun onPrintOrder(transactionHash: String) {
78+
override fun onPrintOrder(orderId: String) {
7979
// 在此记录该笔订单的交易订单号,便于以后查询支付状态
8080
}
8181
})

lib/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ afterEvaluate {
6666
from(components["release"])
6767
groupId = "com.github.dora4"
6868
artifactId = "dora-walletconnect-support"
69-
version = "1.27"
69+
version = "1.28"
7070
}
7171
}
7272
}

lib/src/main/java/dora/trade/DoraTrade.kt

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ object DoraTrade {
2121

2222
private var payListener: PayListener? = null
2323
private lateinit var appMetaData: Core.Model.AppMetaData
24+
private var transactionMap: Map<Long, String> = hashMapOf()
2425

2526
/**
2627
* 朵拉支付初始化应用元信息。
@@ -139,9 +140,7 @@ object DoraTrade {
139140
PayUtils.convertToHexWei(tokenValue), gasLimit, gasPrice,
140141
onSuccess = {
141142
if (it is SentRequestResult.WalletConnect) {
142-
// 提取交易hash
143-
val transactionHash = PayUtils.extractTransactionHash(it.params)
144-
transactionHash?.let { orderListener.onPrintOrder(transactionHash) }
143+
orderListener.onPrintOrder(it.requestId.toString())
145144
}
146145
Log.d("sendTransactionRequest", it.toString())
147146
},
@@ -223,7 +222,7 @@ object DoraTrade {
223222
/**
224223
* 生成该笔订单的交易订单号。
225224
*/
226-
fun onPrintOrder(transactionHash: String)
225+
fun onPrintOrder(orderId: String)
227226
}
228227

229228
interface PayListener {
@@ -232,11 +231,11 @@ object DoraTrade {
232231
* 发起支付订单,等待批准。
233232
* https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/IERC20.sol
234233
*/
235-
fun onSendPaymentRequest(transactionHash: String)
234+
fun onSendPaymentRequest(orderId: String, transactionHash: String)
236235

237236
/**
238237
* 在用户点击钱包的取消按钮时回调。
239238
*/
240-
fun onCancelPayment(transactionHash: String)
239+
fun onCancelPayment(orderId: String, transactionHash: String)
241240
}
242241
}

lib/src/main/java/dora/trade/PayUtils.kt

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,6 @@ object PayUtils {
1515
return "0x" + weiValue.toString(16) // 转换为十六进制字符串
1616
}
1717

18-
@JvmStatic
19-
fun extractTransactionHash(params: String): String? {
20-
return try {
21-
val json = JSONObject(params)
22-
json.optString("transactionHash", null)
23-
} catch (e: Exception) {
24-
null
25-
}
26-
}
27-
2818
/**
2919
* 查询区块链浏览器该笔订单是否已支付,且已被确认。
3020
*/
-2.47 MB
Binary file not shown.
-1.8 MB
Binary file not shown.
-539 KB
Binary file not shown.
-2.1 MB
Binary file not shown.
-1.23 MB
Binary file not shown.
-461 KB
Binary file not shown.

0 commit comments

Comments
 (0)