Depuración remota de la interfaz del SDK de pagos de Java: entorno de pruebas de Alipay [depuración de direcciones de red pública]

Reenviado del artículo de penetración remota de CSDN: pago del entorno de sandbox de Java Alipay, depuración remota de interfaz SDK [penetración de intranet]

1. Entorno de prueba

  • Experto
  • Bota de primavera
  • jdk 1.8

2. Configuración local

Obtenga el SDK Java de pago de Alipay, el proyecto maven puede elegir la versión maven, el proyecto java ordinario se puede descargar de GitHub, aquí hay un ejemplo de maven

Enlace de descarga de SDK: https://doc.open.alipay.com/docs/doc.htm?treeId=193&articleId=103419&docType=1

2023011001

Seleccione la última versión del SDK

2023011002

Copie las coordenadas de Maven e impórtelas en el archivo pom del proyecto Spring Boot

2023011003
2023011004

Abra la documentación de desarrollo: https://opendocs.alipay.com/open/028r8t?scene=22

Aquí hay solo una prueba separada de la interfaz de página de pago y pedido unificado de pago del sitio web de la computadora.

2023011005

Escriba una interfaz, para la conveniencia de la demostración, cree una solicitud de obtención y escriba la información del pedido en el código

//支付宝支付接口
@Controller
@RequestMapping("/pay")
public class AlipayTest {
    
    


    private String serverUrl="https://openapi.alipaydev.com/gateway.do";
    private String appId="2021000122601685";
    private String privateKey="MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCCk5evhVhZL3kaWEN4ACD+xHoTfn0RqR7aoh2esSTHeca8bV77z4KYUYXH/76uG1ufeYX8CsI68fMTTIxTcvA1F/vctjCkyAS3fjo+DTPpQ5tZpXvJjbNhwXJwrNov/44Dsy727N+b6CAmz5C6vkNipTdekUlHO+6EJmNgMo+ZgYuoEvinP/1JLST6IpcYj/QjGtG8cYStDlx6C3P2Xk7Jv//rOsMbem6bO5v7zZU4E29lVn5mZucxyPqDfRgyz2H++EaNxDRRh6cdVxwntEImpn9Tap+Jv1tTEddI7pOnXqsOwy5lOEJ6r36g48OyXWOLum2x9bxZUs/6tg96VAgMBAAECggEAN7StlqTltHuJNQ2hBe9eQSjKRJmI3y8gQc5C6ZLLNSHXzselaEQHNd6mMjarPhg6zUV8wPH/wuvbsFOcF9tmMkFmxBiyjnGwV1pjYVmafMkpwh7jWkLk9UBLPTEbKN2+wqbuq08Pjc7et2cywRXjn8SrhQ6F47dZBspgkTDQ+PTpQ4unHjUeQVz55K2VitReDZuTNWPCj2DT7UHDaItFTVtG0oNd1mVtcmeS+4Na7WS/3dusUef2v8fpTuTYcNNcoDxYLunL90u3H5AQCnKIkk+hu6qWyuU6eJLj8QgOf82JqZcueFQxFI/8Ahlv/Y3yfdDm5RfrpsgQKBgQDXT9v9inqZPYgQqTOfZwgtU9WLcuO3e8RaKZ8NUl67Y+M4iKoYoms9ZdBFDPdj5BAygncZpTv4wrJ5Fj1gVeuBMWwmf34WkopQwXt+GbmNHPVFe12XzjkyJBGE3dOG3k0hAadWIw4O2Ipx0IqQFzQdiNCU1cSCQKBgQCbQH1260iD0PF/tNvYyq/YDe+I9+NrPgSe6f0gTOSFFo/Ni04T23vxCSdSt8mDlCULx71hxkr7uNYReUCI/ujXijlgyI/MOmd1AsDEfYceBXkEsOVjC4Zf4zYyvqqTArDdS6Hsn+Y3rwwEBa+hhTLvraCHZddbjbY7rlJttQKBgQCT2OiM/ywUUeY+2pJ5aO4FEnAg7hdKwSbKY3v+ynB8kugBq750tcUoGTQVohPaY/y8j1uIfN/pj/bCOTAP/mtrdodEd8ceN+dxXheZ8YcQgwQk7E+tvm4rMH1WGzJ/2KyiTu8AgF/Cd4791L3/NyNdwSLil9vrlwQKBgQCNBsvxllDMzKRTKWr7R0Lss9v/Q45mAHQaFttE2BRNgO0n/X7zMtEnZvU9go2e5JeyV8KEaqf6eTCbtnNnN0VXFwOo+zl7kP5fz5UMz1izUQgxdKD7sI208MmtZAvznhe47V1TDqYxq0KvNi4y64FAgwEuuMqiqFdSP6g4ecQKBgCF4KzJxe0n+intzTGKgt4a8sBDeyjUIPjU3/ujGXbYWzgmHUFtHOIgTMCs8kmkJlI+xgjqnCUNicIr0hfkjtRGTw6Tw0MqDFX1/EfDJp2spv2rQDMZyKCJZwZ2QyZNz2yYdm1ukzxbJI/conKUSsujdhKEZZhchv2MWl2moscwn";
    private String alipayPublicKey="MIIBIjANBgkqhkiG9QEFAAOCAQ8AMIIBCgKCAQEAhsM/TnpIff7e39eqsCLQwI8fBQ+5lYcFjOrSw7p0ZsMETXXAS677MZTKw5JyHVTieg79708qvaYWZ58jYuViTqpBCnot+cEOnEZcfP3TxeKReAH379bHUVQOz7h3uH0eDcFmi3GjwPBB9lmcJdTI6qD/XObiWJID1e+XYzVgNKC+DXfJ2YN8NEuyRH5Zr862s3C6xd8BAYU1VW9ZfyAssQxILCOwQZ0qDOOq48GAhzDWwPG8oteJX7+lcH1TrnG01SmPiZqkHX6uUW2ye+fZkbW9qjtyujNnADIWNb/D1R2qgAcHsuOVV4hniRQIDAQAB";

    //创建订单接口
    @ResponseBody
    @GetMapping("/create")
    public String create(){
    
    

        //创建连接
        AlipayClient alipayClient = new DefaultAlipayClient(serverUrl,appId,privateKey,"json", "UTF-8",alipayPublicKey,"RSA2");
        AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();

        //订单信息
        JSONObject bizContent = new JSONObject();
        bizContent.put("out_trade_no", "202100012260165");
        bizContent.put("total_amount", 5.00);
        bizContent.put("subject", "测试");
        bizContent.put("product_code", "FAST_INSTANT_TRADE_PAY");

        request.setBizContent(bizContent.toString());

        AlipayTradePagePayResponse response = null;
        try {
    
    
            response = alipayClient.pageExecute(request);
        } catch (AlipayApiException e) {
    
    
            e.printStackTrace();
        }
        if(response.isSuccess()){
    
    

            //成功
            return  response.getBody();
        } else {
    
    
            //失败
           return  "调用失败";
        }
    }
}

Tenga en cuenta los parámetros de configuración:

  • El valor del parámetro serverUrl:

2023011006

  • El valor del parámetro appId:

2023011007

  • Los valores de privateKey y alipayPublicKey:

2023011008
2023011009

Después de configurar los valores de los parámetros, comenzamos el proyecto springboot. El tomcat configurado aquí usa el puerto 8080

2023011010

Después de que el inicio sea exitoso, abra el navegador para acceder a la dirección de la interfaz que escribimos anteriormente: http://localhost:8080/pay/create , la interfaz de Alipay parece indicar el éxito. Si falla, verifique los parámetros configurados.

inserte la descripción de la imagen aquí

3. Penetración de intranet

El servicio anterior de llamar al SDK para crear una orden de pago se ejecuta localmente. La limitación es que solo los proyectos locales pueden llamar a la interfaz para probar el pago. Si desea llamarlo de forma remota, debe exponer el servicio a la red pública.

Cpolar es una herramienta de penetración de intranet que admite los protocolos http/https/tcp, no limita el tráfico, es fácil de operar, no requiere IP de red pública, no requiere enrutadores y puede exponer fácilmente los servicios al acceso a la red pública.

Sitio web oficial de cpolar: https://www.cpolar.com/

3.1 Descargar e instalar la penetración de la intranet cpolar

Visite el sitio web oficial de cpolar, registre una cuenta y descargue e instale el cliente cpolar. Para obtener más información, consulte el tutorial de documentación para descargar e instalar.

20230116162253

3.2 Crear un túnel

Después de que cpolar se haya instalado correctamente, accedemos al puerto local 9200 en el navegador e iniciamos sesión en la interfaz web ui de Cpolar: http://localhost:9200 .

Haga clic en Administración de túneles en el tablero izquierdo - Crear túnel.Dado que el puerto 8080 está configurado en tomcat, necesitamos crear un túnel http que apunte al puerto 8080:

  • Nombre del túnel: se puede personalizar, tenga cuidado de no duplicar el nombre del túnel existente
  • Protocolo: protocolo http
  • Dirección local: 8080
  • Tipo de nombre de dominio: elija un nombre de dominio aleatorio de forma gratuita
  • Región: Seleccionar China arriba

hacer clic创建

2023011012

Haga clic en el estado en el panel izquierdo: lista de túneles en línea, puede ver que el túnel que acaba de crear ha generado una dirección de red pública correspondiente, un protocolo http, un protocolo https (sin los engorrosos pasos de configurar el certificado SSL) y configurarlo copiar pensar

2023011013

4. Pruebe el acceso a la red pública

Abra el navegador e ingrese la copia 公网地址+接口路径para visitar, y aparecerá la página de Alipay para indicar que la visita se realizó correctamente

20230116161201

inserte la descripción de la imagen aquí

5. Configure un nombre de subdominio de segundo nivel fijo

Dado que el túnel anterior creado con cpolar utiliza una dirección de red pública aleatoria, la dirección cambiará dentro de las 24 horas, lo que no favorece el acceso remoto a largo plazo. Por lo tanto, podemos configurar un nombre de subdominio de segundo nivel para él, que es una dirección fija y no cambiará aleatoriamente [ps: se ha archivado cpolar.cn]

Tenga en cuenta que el paquete cpolar debe actualizarse al paquete básico o superior. [cpolar.cn ha sido archivado]

5.1 Reservar un subdominio de segundo nivel

Visite el sitio web oficial de Cpolar , inicie sesión en el fondo del sitio web oficial de cpolar, haga clic en Reservado a la izquierda y busque el nombre de subdominio de segundo nivel reservado:

  • Región: Seleccionar China VIP
  • Nombre de dominio de segundo nivel: se puede personalizar
  • Descripción: Comentarios, que se pueden personalizar.

hacer clic保留

2023011015

Solicite que el nombre del subdominio se haya reservado correctamente, copie el nombre del subdominio de segundo nivel reservado

2023011016

5.2 Configurar el nombre del subdominio de segundo nivel

Visite http://127.0.0.1:9200/ , inicie sesión en la interfaz de administración de la interfaz de usuario web de cpolar, haga clic en administración de túneles en el tablero izquierdo - lista de túneles, busque el túnel de prueba de la interfaz de pago y haga clic en editar a la derecha

2023011017

Modifique la información del túnel y configure el nombre de subdominio de segundo nivel reservado con éxito en el túnel

  • Tipo de nombre de dominio: seleccione un nombre de subdominio de segundo nivel
  • Subdominio: complete el nombre del subdominio reservado

hacer clic更新

2023011018

Después de la actualización, abra la lista de túneles en línea nuevamente y podrá ver que el túnel se ha convertido en un nombre de subdominio de segundo nivel fijo, copie el nombre de dominio

2023011019

6. Use un nombre de subdominio fijo de segundo nivel para acceder

Abra el navegador e ingrese la configuración que se acaba de configurar correctamente para 固定二级子域名+接口路径acceder, y aparece la página de Alipay para indicar que el acceso es exitoso

inserte la descripción de la imagen aquí

Complete la prueba de nombre de cuenta y contraseña de pago e inicie sesión en la consola para ver el nombre de cuenta y la contraseña de pago

2023011021

Seleccione el saldo de la cuenta de prueba para el pago, y la contraseña de pago se puede ver en la consola

inserte la descripción de la imagen aquí

2023011023

Pago exitoso

2023011024

Supongo que te gusta

Origin blog.csdn.net/qq_43289447/article/details/130191693
Recomendado
Clasificación