Pago del Mini Programa WeChat (1. Generar prepaid_id) 2018-08-06
Plataforma comercial:
/index.php/core/home/login
Desarrollo La API del manual de usuario es:?
/wiki/doc/api/index.html
/wiki/doc/api/wxa/wxa_api.php?chapter=9_1
Generar interfaz de prueba XML: interfaces de prueba
/wiki/tools/signverify
Generador de código aleatorio de 32 bits
1 parámetro de configuración, ninguno de ellos pueden Menos (estos son parámetros obligatorios, hay otros parámetros opcionales, también puede completar el estado de ánimo)
appid El identificador único del subprograma, por ejemplo: wxed9dxxx6d6cxxx9e
cuerpo Puede escribir una descripción del producto, por ejemplo: Soy la descripción del producto, el usuario compró dos panecillos al vapor
mch_id ID del comerciante que debe verse en la plataforma del comerciante Ver en la plataforma del comerciante (¿se puede obtener? después de solicitar con éxito la plataforma comercial), por ejemplo: 149411****2
nonce_str cadena aleatoria (sin punto decimal (no verificado)), por ejemplo: 76521019851170500000
notify_url dirección de notificación después del éxito, por ejemplo: /pay/unifiedorder interface
notify_url
Si la firma es correcta, obtendremos con éxito el ?prepay_id en formato xml; , realizaremos la siguiente búsqueda de errores.
~~: ¿Quieres realizar una búsqueda de errores? Puede eliminar los parámetros en la interfaz de prueba. En circunstancias normales, no se generará ninguna excepción después de xml si aún se informa un error.
Intenta cambiar la clave de la plataforma comercial (consulta el paso 3 para obtener más detalles).
¿Parece que mucha gente se ha encontrado con este problema? ...
// Diccionario ordenar key1=xxx&key2=zzz Empalmar en cadena
function joinToStr(_obj) {
let keyArr = [];
for (let key in _ obj) {
keyArr.push(key);
}
keyArr = keyArr.sort();
console.log("keyArrSort--->", keyArr);
// paySign = MD5(appId=wxd678efh567hg6787&nonceStr= 5K8264ILTKCH16CQ2502SI8ZNMTM67VS&package=prepay_id= wx2017033010242291fcfe0db70013231072&signType=MD5&timeStamp=1490840662&key=qazwsxedcrfvtgbyhnujmikolp111111) = 2 2D9B4E54AB1950F51E0649E8810ACD6
// _str es la cadena encapsulada MD5 que forma parte de paySign
let _str = "";
let len = keyArr.length;
for (let i = 0; i < len; i++) {
if (i == len - 1) {
_str += (keyArr[i] + "=" + _obj[keyArr[i]]);
} else {
_str += ( keyArr[i ] + "=" + _obj[keyArr [i]] + "&");
}
}
return _str; p>
}