gpt4 book ai didi

api - Easypaisa 集成在 react-native 中

转载 作者:行者123 更新时间:2023-12-05 03:51:33 28 4
gpt4 key购买 nike

我正在尝试将 Easypaisa 支付集成到我的应用程序中。我有商家帐户。

这是我的代码

 const requestBody = 'storeId=xxxx&amount=xx&postBackURL=xxx&orderRefNum=xx';

const requestHeader = {
'Accept': 'application/json',
'Content-Type': 'application/x-www-form-urlencoded',
};

这里是react-native-webview

 <WebView
source={{
uri: 'https://easypay.easypaisa.com.pk/easypay/Index.jsf',
headers: requestHeader,
body: requestBody,
method: 'POST',
}}
/>

这是我遇到的一个错误

enter image description here

我尝试了很多解决方案,但都没有成功,也没有找到与 Easypaisa 相关的任何解决方案或适当的文档。

最佳答案

为此我使用了 3 个包。

import AesJs from 'aes-js';

import { Buffer } from 'buffer';

import queryString, { stringify } from 'query-string';

解决了这个问题

//使用easypaisa HashKey生成AES、ECB模式的字节加密

第一步

const aes = new AesJs.ModeOfOperation.ecb(AesJs.utils.utf8.toBytes(HASH_KEY));

您可以从商家帐户生成哈希 key 。

第 2 步

pkcs5Pad

   function pkcs5Pad(text: string, blockSize: number): string {
const pad = blockSize - (text.length % blockSize);
return text + String.fromCharCode(pad).repeat(pad);
}

convertObjectToString

    function convertObjectToString(obj: any): string {
let data = '';
Object.keys(obj)
.sort()
.forEach((key) => {
data += `${key}=${obj[key]}` + '&';
});
return data.slice(0, data.length - 1);
}

第 3 步

//生成HashMapReq

  const hasMapReq = Buffer.from(aes.encrypt(Buffer.from(
pkcs5Pad(convertObjectToString(requestBody), 16))))
.toString(
'base64',
);

将您的 hashReq 附加到请求正文中并享受。

关于api - Easypaisa 集成在 react-native 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62818901/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com