## 說明
虛擬卡券類商品下單,訂單查詢接口中的`cardNumber`、`cardPassword`、`cardLink`為AES加密數據,使用來訪應用上的AppSecret進行加密,需解密為明文
~~~json
{
"code": "0",
"msg": "請求成功",
"data": {
"tradeNo": "c72264ac-Cf66-a2c1-DC75-FA3D28fE29C0",
"dbyOrderId": "1411600301386975805440",
"totalGoodsAmount": 2640,
"totalFreightAmount": 0,
"orderItems": [
{
"orderItemId": "1600301440872611840",
"orderType": "virtual",
"goodsAmount": 2640,
"freightAmount": 0,
"status": 103,
"skuInfos": [
{
"skuCode": "20197729024",
"skuName": "奈雪の茶30元代金券",
"skuNum": 1,
"unitPrice": 2640,
"account": "15678999877",
"couponInfo": {
"cardType": 4,
"cardNumber": null,
"cardPassword": "I58alWnanbQrg5IzXVhFoA==",
"cardLink": null,
"cardCreateTime": "1670376632927",
"effectiveTime": "1673020799000"
}
}
]
}
],
"orderRemark": null
},
"msgId": "672bf8b3876b4ecb",
"success": true
}
~~~
## [](https://duobaoyu.com.cn/documentcenter?onlyFlag=7a989c821f9dfdba9bfe4515687c91c2#%E5%9F%BA%E7%A1%80%E6%95%B0%E6%8D%AE)基礎數據
**僅限測試使用**
* AppSecret:ne3ee8xg3hyx4af9smmupsi8ums4hovj
* 加密前的卡密:123qweASD
* 加密后的卡密:I58alWnanbQrg5IzXVhFoA==
### [](https://duobaoyu.com.cn/documentcenter?onlyFlag=7a989c821f9dfdba9bfe4515687c91c2#java%E7%89%88%E6%9C%AC)Java版本
AES解密如下:
~~~text
//參數列表:參數一為需要解密的密文,參數二為解密key,使用AppSecret作為解密key
String dataText = AesUtil.decrypt("I58alWnanbQrg5IzXVhFoA==", "ne3ee8xg3hyx4af9smmupsi8ums4hovj");
System.out.println("解密后的數據:" + dataText);//123qweASD
~~~
* * *
~~~java
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
/**
* AES工具類
*/
public class AesUtil {
/**
* 加密
* @param content 待加密的字符串
* @param key 秘鑰
*/
public static String encrypt(String content, String key) throws Exception{
Cipher cipher = Cipher.getInstance("AES");
SecretKeySpec keySpec = new SecretKeySpec(key.getBytes(StandardCharsets.UTF_8), "AES");
cipher.init(Cipher.ENCRYPT_MODE, keySpec);
byte[] encodeBytes = Base64.getEncoder().encode(cipher.doFinal(content.getBytes(StandardCharsets.UTF_8)));
return new String(encodeBytes, StandardCharsets.UTF_8);
}
/**
* 解密
* @param content 待解密的字符串
* @param key 秘鑰
*/
public static String decrypt(String content, String key) throws Exception{
Cipher cipher = Cipher.getInstance("AES");
SecretKeySpec keySpec = new SecretKeySpec(key.getBytes(StandardCharsets.UTF_8), "AES");
cipher.init(Cipher.DECRYPT_MODE, keySpec);
byte[] decodeBytes = cipher.doFinal(Base64.getDecoder().decode(content));
return new String(decodeBytes, StandardCharsets.UTF_8);
}
public static void main(String[] args) throws Exception {
String appSecret = "ne3ee8xg3hyx4af9smmupsi8ums4hovj";
String contentStr = "123qweASD";
String encryptText = encrypt(contentStr, appSecret);
System.out.println("加密后的字符串:" + encryptText);
String decryptText = decrypt(encryptText, appSecret);
System.out.println("解密后的字符串:" + decryptText);
}
}
~~~
- 產品介紹
- 開發指南
- 實物商品對接流程
- 簽名規則
- JAVA SDK使用
- PHP SDK使用
- 商品消息對接流程
- 虛擬商品對接流程
- 電影H5對接流程
- 卡密信息解密規范
- 錯誤碼查詢
- 商品API文檔
- 商品
- 查詢商品SPU詳情
- 查詢商品SPU深度分頁
- 查詢商品可售性
- 手機號所屬運營商查詢
- 查詢商品詳情
- 查詢商戶商品上下架狀態
- 查詢商品最小起訂量
- 查詢商品價格
- 根據SKU查詢商品SPU詳情
- 查詢商品分類逐級獲取
- 查詢商品分類分頁獲取
- 訂單
- 運費評估
- 確認收貨
- 查詢訂單物流信息
- 查詢訂單詳情
- 取消訂單
- 確認下單
- 實物商品預下單
- 虛擬商品預下單
- 售后
- 查詢售后退款詳情
- 查詢售后訂單詳情
- 取消售后申請
- 確認售后完成
- 提交運單信息
- 查詢售后支持的物流
- 查詢客戶寄回地址
- 創建退款退貨申請
- 上傳商品售后憑證
- 批量查詢商品售后權益
- 地址
- 詳細地址轉換成供應鏈地址編碼
- 省市區街道4級地址查詢
- 消息
- 消息通知
- 賬戶
- 查詢商戶賬戶信息
- 電影API文檔
- 電影H5
- 電影H5首頁免登錄
- 設置商戶價格策略
- 設置商戶貨幣兌換比例
- H5電影訂單詳情
- H5電影訂單確認
- H5電影訂單列表
- 電影消息
- 電影消息通知