首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Easypaisa在react中的集成

Easypaisa在react中的集成
EN

Stack Overflow用户
提问于 2020-07-09 15:55:56
回答 1查看 1.8K关注 0票数 3

我正在尝试将Easypaisa支付整合到我的应用程序中。我有一个商人帐户。

这是我的密码

代码语言:javascript
复制
 const requestBody = 'storeId=xxxx&amount=xx&postBackURL=xxx&orderRefNum=xx';

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

这里是react本机-webview

代码语言:javascript
复制
 <WebView
    source={{
      uri: 'https://easypay.easypaisa.com.pk/easypay/Index.jsf',
      headers: requestHeader,
      body: requestBody,
      method: 'POST',
    }}
  />

这是我面临的一个错误

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

EN

回答 1

Stack Overflow用户

发布于 2020-07-17 17:04:44

为此,我使用了3个软件包。

代码语言:javascript
复制
import AesJs from 'aes-js';

import { Buffer } from 'buffer';

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

解决了这个问题

//在AES中生成字节加密,用easypaisa HashKey实现ECB模式

步骤1

代码语言:javascript
复制
const aes = new AesJs.ModeOfOperation.ecb(AesJs.utils.utf8.toBytes(HASH_KEY));

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

步骤2

pkcs5Pad

代码语言:javascript
复制
   function pkcs5Pad(text: string, blockSize: number): string {
   const pad = blockSize - (text.length % blockSize);
   return text + String.fromCharCode(pad).repeat(pad);
   }

convertObjectToString

代码语言:javascript
复制
    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

代码语言:javascript
复制
  const hasMapReq = Buffer.from(aes.encrypt(Buffer.from(
  pkcs5Pad(convertObjectToString(requestBody), 16))))
  .toString(
  'base64',
);

将您的hashReq添加到请求体中,并享受.

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62818901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档