В течение всего процесса клиентской части нужно выполнить очень мало работы, просто перейти к адресу в форме, возвращенной серверной частью. Процесс выглядит следующим образом:
1. После нажатия кнопки оплаты фронтенд вызывает платежный интерфейс (интерфейс передачи суммы платежа), и интерфейс возвращает сообщение, содержащее "https://openapi.alipay.com******** ********* **********" строка, эта строка является платежной страницей h5
2. Перейдите на полученную страницу оплаты, и браузер автоматически запустит Alipay.
Для перехода по внешним ссылкам требуется плагин url_launcher, я использую версию ^6.0.12.
Конкретный код выглядит следующим образом:
import 'package:url_launcher/url_launcher.dart'; //引入包
// alipay()就是调的支付接口,value就是返回的含支付页面的字符串地址
aliPay().then((value) {
if(value.order.length > 0){
_launchURL(value);
}
}
void _launchURL(url) async {
if (await canLaunch(url)) {
await launch(url);
} else {
throw 'Could not launch $url';
}
}