generateRegisterMerchantFormData method

Map<String, dynamic> generateRegisterMerchantFormData(
  1. PaywayPartnerRegisterMerchant requestData, {
  2. String? requestTime,
})

generateRegisterMerchantFormData

allow to pre generate the correct data for form submit when send create request register merchant

Example

request_time: 20200211050440

request_data: Uyv+FcEc+QHD3UO/WYhBFH6l02Z0DVTNgrGma8DWXoAGkSxmQUphBFnavaEBDESbg/r+xrE+6aAWtZ+X+MHNMiO3Q8p+y+DDByA+A5V9/UkSs1r4wZ5yRw5wvt9Aqfrr3mqhDJN6EYqtWyxXT3Uk6eJ+Wxi7BHvGOzxbjy1NZ9uSh0hOxJfZ+vljHjr/OldFwYq01Fsq4uuhekZBDYctt7lICf1+rg+g0Mr6YOwBBcTXTdhszMLHlufa3+rM/j4mv3DTR7EODEQLm1zOrPfHM2Yc2Pzlh1kHFMy65gAXYYPTGVxA8v5Y7Zey fawPgsehWWFsrnIZ87vNg5vSiDrhwUJ62Ep5drEPrXn5rECuyaNBI5iYUDzQrftJP0sXAWbgV6zcdklUzUGA90eg+Fbdd3U6azUhTGGjLTHk5XO4UX8h48JYUzjDg0tPvAH8boHQr/CpKU+XTtvv3ezlcod2s2Iou4ZpmfjTGtkPCTm2KpwkD0hIkEyrD3h6XQY449T/,

partner_id: /GHeWRMQa2l9H1+TkclWuw==

hash: 43bde1fdf5b631897172a956c029aa24b57679f75b5ed9a56a10b1b6d799dbb1

Implementation

Map<String, dynamic> generateRegisterMerchantFormData(
    PaywayPartnerRegisterMerchant requestData,
    {String? requestTime}) {
  var request_data =
      opensslEncrypt(requestData.toMap(), partner.partnerPublicKey);

  final _requestTime =
      requestTime ?? DateFormat("yMddhhmmss").format(DateTime.now());
  if (_requestTime.length != 14) {
    print("_requestTime $_requestTime");
  }

  /// show the error if incorrect request time format size
  assert(_requestTime.length == 14);

  final clientService = PaywayPartnerClientService(partner);
  final str = clientService.getStr(
      request_time: _requestTime, request_data: request_data);
  final hash = clientService.getHash(str);

  var map = {
    "request_time": _requestTime.toString(),
    "request_data": request_data.toString(),
    "partner_id": partner.partnerID.toString(),
    "hash": hash.toString(),
  };
  return map;
}