0

我正在使用 Payfast 支付网关构建应用程序。网关文档仅涵盖 php 方面,但我想通过请求 https 来实现。试图解决这种情况,但不明白我错在哪里。

尝试在此站点payfast_developers_docs上进行简单的表单集成

我收到 404 和 500 错误。无法到达结帐表格。现在谢谢。

在我的源代码下面;

     DateTime ax= DateTime.now();
    print(ax);


    String a = "amount=100.00&Content-Type=application/json&item_name=#000001&merchant_id=10000100&merchant_id=10000100&merchant_key=46f0cd694581a&timestamp=$ax&version=v1";
    md5.convert(utf8.encode(a)).toString();
    //String pkistring = v1hashing(requeststr);
    HttpClient httpClient = new HttpClient();
    HttpClientRequest request = await httpClient.postUrl(Uri.https( "sandbox.payfast.co.za", "/eng/process​"));
    request.headers.set('Content-Type' ,  'application/json');
    request.headers.set('merchant-id' ,  '10000100');
    request.headers.set('version' ,  'v1');
    request.headers.set('timestamp' ,  ax);
    request.headers.set('signature' ,   md5.convert(utf8.encode(a)).toString());




//headers
//request.headers.set('Accept' ,  'application/json');
    Map body = { 'merchant_id' : '10000100',
      'merchant_key' : '46f0cd694581a',
      'amount' : '100.00',
      'item_name' : '#000001',
    'signature': '${md5.convert(utf8.encode(a)).toString()}'} ;

//body
    request.add(utf8.encode(json.encode(body)));


//response cevap
    HttpClientResponse response = await request.close();
    print(response.statusCode); // baglanti yapildi mi yapilmadi mi 200 ise yapildi
    String reply = await response.transform(utf8.decoder).join();
    //Map responseMap = json.decode(reply);
    httpClient.close();
    print("payfast ici odeme");
    print(reply);
    Navigator.push(context, MaterialPageRoute(builder: (context) => new a3dsecure(reply)));
4

0 回答 0