Para cualquier consulta estamos a un clic

Hacer una pregunta

Pagos directos

Descripción general

En el pago directo, la tienda en línea tiene su propia página de pago para recopilar datos de tarjeta directamente a través de su sitio web.

Uso de seToken

Si recopila datos de tarjeta en su lado y no desea que estén presentes en su servidor, debe usar seToken (Self Encrypted Token) — un token autofirmado utilizado para la transmisión segura de datos de tarjeta. Si usa seToken, el cumplimiento de PCI DSS también se requiere según el nivel de su actividad transaccional. Como mínimo, es necesario completar el cuestionario de autoevaluación SAQ A (lea más sobre PCI DSS aquí).

Tenga en cuenta que seToken puede ser generado usando SDK.

Haga clic aquí para obtener información adicional sobre seToken.

Si no tienes acceso al Panel de control, crea tu cuenta.

Esquema de integración

Integración directa

  1. El cliente selecciona un producto en la tienda en línea y hace clic en el botón Comprar.

  2. El servidor de la tienda en línea recibe la solicitud de compra y abre la página de pago.

  3. El comprador introduce los datos de su tarjeta en la página de pago de la tienda en línea.

  4. El servidor de la tienda en línea recopila los datos de tarjeta.

  5. Pago. El servidor de la tienda en línea solicita el registro y pago del pedido, enviando una llamada API instantPayment.do a la pasarela de pagos. Esta solicitud debe contener el parámetro amount (monto del pago en unidades mínimas de moneda) y el parámetro backUrl (dirección a la cual será redirigido el cliente después del pago exitoso en el Paso 9). También transmite los datos de tarjeta a la pasarela de pagos.

Ejemplo de solicitud:

shell curl --request POST \ --url https://dev.bpcbt.com/payment/rest/instantPayment.do \ --header 'content-type: application/x-www-form-urlencoded' \ --data userName=test_user \ --data password=test_user_password \ --data amount=100 \ --data currency=978 \ --data description=my_first_order \ --data orderNumber=1218637308 \ --data pan=5000001111111115 \ --data cvc=123 \ --data expiry=203012 \ --data cardHolderName="TEST CARDHOLDER" \ --data language=en \ --data backUrl=https%3A%2F%2Fmybestmerchantreturnurl.com \ --data failUrl=https%3A%2F%2Fmybestmerchantreturnurl.com Ejemplo de respuesta (Se requiere 3-D Secure):

json { "errorCode": "0", "orderNumber": "1218637308", "orderId": "0179018d-8f96-7fbe-bc2b-4b7e00a7d8c0", "info": "Your order is proceeded, redirecting...", "acsUrl": "https://dev.bpcbt.com/payment/rest/getwhitepageurl.do?mdOrder=0179018d-8f96-7fbe-bc2b-4b7e00a7d8c0&threeDsServerTransId=2aa43ebc-e997-4e54-9ddc-38228bc1d302", "paReq": "White page paReq", "termUrl": "White page termUrl", "orderStatus": { "expiration": "203012", "cardholderName": "TEST CARDHOLDER", "depositAmount": 0, "currency": "978", "authCode": 2, "ErrorCode": "0", "ErrorMessage": "Success", "OrderStatus": 0, "OrderNumber": "1218637308", "Pan": "500000**1115", "Amount": 100, "Ip": "x.x.x.x" }, "is3DSVer2": false }

Ejemplo de respuesta (3-D Secure no se usa):

json { "errorCode": "0", "orderNumber": "1218637308", "orderId": "0179018d-8f96-7fbe-bc2b-4b7e00a7d8c0", "info": "Your order is proceeded, redirecting...", "redirect": "https://mybestmerchantreturnurl.com/?orderId=0179018d-8f96-7fbe-bc2b-4b7e00a7d8c0&lang=en", "orderStatus": { "expiration": "203012", "cardholderName": "TEST CARDHOLDER", "depositAmount": 100, "currency": "978", "approvalCode": "123456", "authCode": 2, "rrn": "111111111111", "ErrorCode": "0", "ErrorMessage": "Success", "OrderStatus": 2, "OrderNumber": "1218637308", "Pan": "500000**1115", "Amount": 100, "Ip": "x.x.x.x" }, "is3DSVer2": false }

  1. Si se requiere 3-D Secure (el parámetro acsUrl se devuelve en el Paso 5), la pasarela de pagos se conecta con Directory Server para obtener acceso a ACS. Devuelve todos los datos necesarios para la redirección desde ACS a la tienda en línea.

    Si 3-D Secure no se utiliza, los Pasos 7–9 se omiten, y el cliente es redirigido a la página de confirmación del pago (Paso 10). El parámetro redirect en este caso se ignora, ya que la tienda en línea utiliza su propia página de confirmación de pago.

  2. El servidor de la tienda en línea solicita redirección simplificada del comprador a ACS, enviando la llamada API acsRedirect.do a la pasarela de pagos. En la solicitud se utiliza el parámetro orderId (obtenido en el Paso 5).

    Ejemplo de solicitud:

    https://dev.bpcbt.com/payment/acsRedirect.do?orderId=0179018d-8f96-7fbe-bc2b-4b7e00a7d8c0

    También es posible la redirección del cliente a ACS mediante solicitud POST (redirección habitual). La descripción de este método está disponible aquí.

  3. La pasarela de pagos redirige al cliente a ACS.

  4. El portador de la tarjeta confirma el pedido y ACS lo redirige a la pasarela de pagos.

  5. El comprador regresa a la página de la tienda en línea (a la dirección especificada al procesar el pedido en el Paso 5) o cierra la página.

    Ejemplo de URL-redirect:

    https://mybestmerchantreturnurl.com/?orderId=0179018d-8f96-7fbe-bc2b-4b7e00a7d8c0&lang=en

  6. La pasarela de pagos envía asíncronamente notificación de callback al servidor de la tienda en línea (si esta funcionalidad está habilitada).

  7. (Opcional) La tienda en línea envía una solicitud getOrderStatusExtended.do a la pasarela de pago para verificar el estado del pedido y asegurarse de que el pedido esté realmente pagado. La solicitud contiene el parámetro orderId, obtenido en el Paso 5. En respuesta, la pasarela de pago devuelve el estado del pedido en el parámetro orderStatus. El estado 2 significa pago exitoso, el estado 1 significa autorización previa exitosa para pagos en dos etapas (en este caso se realiza la retención de fondos). Adicionalmente se devuelve el parámetro actionCode - contiene el código de respuesta del procesamiento del banco. Ver la lista de códigos de respuesta aquí.

    Para información adicional, consulte la sección Obtención del estado del pedido.

Categorías:
eCommerce API V1
Categorías
Resultados de búsqueda