我正在使用 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×tamp=$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)));