Hosted Payment Session: Referencia de API

El modelo Hosted Payment Session con JavaScript utiliza los siguientes métodos y objetos JavaScript para devolver un identificador de sesión que contenga los detalles de la tarjeta del pagador. Usted debe enviar el identificador de sesión devuelto a su servidor web para iniciar un pago o una transacción de almacenamiento. Para obtener más información, consulte Realice una operación con la sesión.

Llamar a los métodos descritos a continuación en realidad no inicia un pago ni una transacción de almacenamiento.

Métodos

HostedForm.setMerchant( )

Establece la cuenta de comerciante que se va a utilizar para la transacción.

setMerchant(merchantID)

Parámetros:

merchantId
Obligatorio. El identificador de comerciante que usted recibió de Mastercard Payment Gateway.

Devoluciones:

Void

HostedForm.createSession( )

Envía una solicitud para crear una sesión y actualizarla con detalles de la tarjeta.

createSession(sessionDetails, createSessionCallback)

Parámetros:

sessionDetails
Obligatorio. El parámetro de objeto para especificar los detalles de tarjeta.

createSessionCallback
Obligatorio. La función para administrar la respuesta. Se define como createSessionCallback = function(createSessionResponse)

HostedForm.updateSession( )

Envía una solicitud para crear o actualizar una sesión.

updateSession([sessionId], sessionDetails, updateSessionCallback)

Parámetros:

sessionId
Opcional. Si transmite el parámetro sessionId, entonces los detalles de la sesión, si esta existe, se actualizan. Si no transmite un identificador de sesión, se crea una nueva sesión.

sessionDetails
Obligatorio. El parámetro de objeto para especificar los detalles de tarjeta.

updateSessionCallback
Obligatorio. La función para administrar la respuesta. Se define como updateSessionCallback = function(updateSessionResponse)

HostedForm.showVisaCheckout( )

Inicia el lightbox de Visa Checkout y actualiza los resultados en una sesión de pago.

showVisaCheckout([sessionId], options, callback)

Parámetros:

sessionId
Opcional. Si se proporciona y si existe, se actualiza un identificador para una sesión de pago con los detalles del pago. Si no, se crea una nueva sesión de pago.

options
Obligatorio. Le permite controlar las opciones ofrecidas en el lightbox de Visa Checkout. Si no desea controlar las opciones, puede configurarla como nula u objeto vacío.

Opciones compatibles
Opción Tipo de datos Descripción Valores
options.acceptedCards enum Controla el tipo de tarjetas que puede seleccionar el pagador en el lightbox de Visa Checkout. MASTERCARD
AMEX
DISCOVER
VISA
options.paymentConfirmation enum Controla si el botón de confirmación en la última página se muestra como "Pagar" o "Continuar" CONFIRM_AT_PROVIDER - muestra 'Pagar' en el lightbox de Visa Checkout
CONFIRM_AT_MERCHANT - muestra 'Continuar' en el lightbox de Visa Checkout
options.paymentConfirmationMessage String El mensaje que aparece al pagador al lado del botón de confirmación en el lightbox de Visa Checkout. Proporcionar este texto en el idioma definido en options.locale. Continue to the merchant to complete your purchase
options.merchant.logo URL El logotipo del comerciante en el lightbox de Visa Checkout https://test.te
options.merchant.displayName String El nombre del comerciante que desea mostrar como el mensaje predeterminado en el lightbox de Visa Checkout. Normalmente, este es el nombre de su empresa.. the merchant
options.locale Cadena Determina la configuración regional para mostrar el lightbox de Visa Checkout. De manera predeterminada, la configuración regional del explorador del pagador en_us
en_au
en_ca
fr_ca
options.country Código país ISO de 3 letras Determina la bandera del país que aparece al costado derecho superior del lightbox de Visa Checkout. AUS
USA
options.order.amount Decimal Muestra un monto de pedido en el lightbox de Visa Checkout 10.50, 200.00
options.order.currency Código de moneda ISO de 3 letras Muestra un monto de moneda en el lightbox de Visa Checkout

USD
AUD

callback
Obligatorio. Una función que contiene el resultado de la interacción del lightbox.

Objetos

sessionDetails

El parámetro de objeto obligatorio sessionDetails contiene detalles de tarjeta que se almacenarán en la sesión recién creada. No es obligatorio especificar todos los campos — usted puede recopilar detalles de tarjeta parciales; sin embargo, cardExpiryMonth y cardExpiryYear son obligatorios si cualquiera de ellos se especifica.


Campos:

Cadena cardNumber
Opcional. Número de la tarjeta de crédito tal como aparece en la tarjeta. Acepta hasta 30 caracteres, incluidos dígitos y los símbolos '-' y ' ' como entrada.

Cadena cardSecurityCode
Opcional. Código de verificación de la tarjeta, tal como aparece al anverso y al reverso de ella.

Cadena cardExpiryMonth
Obligatorio si se especifica el valor de cardExpiryYear. Mes, tal como aparece en la tarjeta. Los meses se enumeran Enero=1, hasta Diciembre=12.

Cadena cardExpiryYear
Obligatorio si se especifica el valor de cardExpiryMonth. Año, tal como aparece en la tarjeta.

Ejemplo

 var sessionDetails = function() {
    return {
        cardNumber: document.getElementById('cardNumber').value,
        cardSecurityCode: document.getElementById('cardSecurityCode').value,
        cardExpiryMonth: document.getElementById('expiryMonth').value,
        cardExpiryYear: document.getElementById('expiryYear').value
        }
      }

createSessionResponse/updateSessionResponse

El objeto response devuelto por Mastercard Payment Gateway, en respuesta a la llamada HostedForm.createSession( )/HostedForm.updateSession( ).


Campos:

Cadena status
El estatus general de la solicitud HostedForm.createSession( )/HostedForm.updateSession( ), tal como la devolvió Mastercard Payment Gateway.

Cadena session
El identificador de sesión que contiene los detalles de tarjeta. Debe usar este identificador en lugar de los detalles de tarjeta cuando inicie una transacción de pago.

Cadena cardBrand
La marca comercial que se utiliza para describir la tarjeta se reconoce y acepta a nivel mundial. Para la mayoría de los tipos de tarjeta principales habrá coincidencia con el nombre de esquema. En algunos mercados, una tarjeta también puede tener una marca compartida con una marca local que se reconoce y acepta dentro de su país/región de origen (consulte cardLocalBrand).
Puede usar esta información para respaldar decisiones de recargo. Esta información se reúne desde fuentes de terceros y puede que no sea exacta en todas las circunstancias.

Cadena cardScheme
El esquema de tarjeta para la tarjeta que se utilizó en la solicitud HostedForm.createSession( )/HostedForm.updateSession( ).

Cadena cardFundingMethod
El método que utiliza el pagador para proporcionar los fondos para el pago.
Puede usar esta información para respaldar decisiones de recargo. Esta información se reúne desde fuentes de terceros y puede que no sea exacta en todas las circunstancias.

Cadena cardLocalBrand
La marca comercial que se utiliza para describir la tarjeta se reconoce y acepta dentro de su país/región de origen. La tarjeta también puede tener una marca compartida con una marca comercial que se reconoce y acepta a nivel mundial (consulte cardBrand).
Puede usar esta información para respaldar decisiones de recargo. Esta información se reúne desde fuentes de terceros y puede que no sea exacta en todas las circunstancias.

Objeto fieldsInError
Un objeto cuyas propiedades coinciden con los nombres de los campos en el error. Los valores indican la causa del error.

Ejemplo

 {
  "status":"ok",
  "session":"SESSION000264159551414428148515",
  "cardFundingMethod":"credit", //possible values: CHARGE, CREDIT, DEBIT, UNKNOWN 
  "cardScheme":"visa",// possible values AMEX, DINERS_CLUB, DISCOVER, JCB, MASTERCARD, UATP, VISA, OTHER 
  "cardBrand":"visa"  //possible values: AMEX, DINERS_CLUB, DISCOVER, JCB, MAESTRO,  MASTERCARD, VISA, UATP, SOLO, LOCAL_BRAND_ONLY, UNKNOWN 
 }

fieldsInError

El objeto fieldsInError analiza errores de campo devueltos en la respuesta. Los errores se devuelven en el siguiente formato: {"field_name":"error_code", ...}, por ejemplo, {cardNumber:"invalid", cardExpiryYear:"missing"}

Campos:

Cadena cardNumber
Número de la tarjeta de crédito, tal como se transmite en el objeto sessionDetails.

Cadena cardSecurityCode
Código de verificación de la tarjeta, tal como se transmite en el objeto sessionDetails.

Cadena cardExpiryMonth
Mes de vencimiento, tal como se transmite en el objeto sessionDetails.

Cadena cardExpiryYear
Año de vencimiento, tal como se transmite en el objeto sessionDetails.

Valores de enumeración

Cadena invalid
Indica que el campo no es válido.

Cadena missing
Indica que falta un campo obligatorio.

Ejemplo

 //fields_in_error example
  {
	"status":"fields_in_error",
	"fieldsInError": {
	"cardExpiryYear":"invalid",
	"cardSecurityCode":"invalid",
	"cardExpiryMonth":"invalid",
	"cardNumber":"invalid"
  	}
  }

Derechos de autor © 2020 Mastercard