API para QuickPay de Allied Wallet (Ver. 1.15 actualizada el 20/2/2012)

Este manual lo guiará a través del proceso de integración que hace que su sitio web y Allied Wallet funcionen como uno. La integración implica implementar nuestras API. Las API, interfaces de programación de aplicaciones, son especificaciones basadas en el código fuente que están destinadas a ser usadas por los componentes de software que permiten que se comuniquen los componentes.

La implementación de la API de pago de Allied Wallet le permitirá procesar sus transacciones en línea sin tanto trabajo básico tedioso. Después de que se inserten nuestros códigos de API, podrá enviar y procesar transacciones de carro de compras y suscripciones.

Nuestra API de pago invoca un método POST en protocolo HTTP, que inicia las solicitudes a Allied Wallet. El método POST de Allied Wallet puede implementarse dentro de cualquier lenguaje de programación web o hasta en una simple página web.

Allied Wallet lo hace fácil. Pero si el proceso de la API le resulta un poco desbordante, no se preocupe. Contáctese con un representante y realizaremos la integración por usted SIN COSTO ADICIONAL.

  1. Información requerida
  2. Suscripciones
  3. Configuración de su sitio – Formularios de ejemplo
    1. Formulario de compra
    2. Formulario de suscripción en HTML
    3. Formulario de carro de compras en HTML
  4. Página completa
  5. Página de confirmación
  6. Reenvío de datos de membresía
  7. Campos de reenvío de datos de confirmación
  8. Pasos de integración simplificada
    1. Suscripción
    2. URL de administración de miembros
    3. Integración de carro de compras
  9. Integración de carro de compras
    1. Actualmente estamos integrados con
  10. Reenvío de datos de transacciones
    1. Campos de reenvío de datos de pagos
    2. Campos de reenvío de datos de captura
    3. Campos de reenvío de datos nulos
    4. Campos de reenvío de datos de contracargos
    5. Campos de reenvío de datos de reembolsos
    6. Campos de reenvío de datos de refacturación
  11. Probar información de la tarjeta
  12. Felicitaciones

1. Información requerida

Antes de que pueda enviar transacciones en vivo a Allied Wallet, necesitará una

cuenta de comerciante de Allied Wallet para su sitio web. Al establecer una cuenta de comerciante con Allied Wallet, se le suministrará un ID de comerciante y un ID del sitio. Estos ID identifican de manera única a sus sitios web, clientes y pagos. Si no solicitó una cuenta de comerciante, puede hacerlo en:

https://sale.alliedwallet.com/index.aspx

Arriba

2. Suscripciones

Si desea ofrecer suscripciones en el sitio web, también necesitará que Allied Wallet configure sus grupos de suscripciones. La configuración del grupo establecerá los niveles, precios y términos para sus suscripciones.

Por ejemplo, puede tener una suscripción estándar que cueste $19,95 por mes y una suscripción premium que cueste $99,99 por trimestre. Allied Wallet configurará los dos grupos diferentes para que se les vuelva a facturar a sus clientes al final de cada período.

Después de que Allied Wallet configure sus grupos de suscripción, necesitará el URL con el que solicitar transacciones invocando el método POST. El URL para el reenvío de formularios HTML es:

https://sale.alliedwallet.com/index.aspx

Para las solicitudes POST de los pagos de sus clientes a Allied Wallet, debe incluir los siguientes campos. Tenga en cuenta los campos obligatorios y los campos opcionales, y agregue en consecuencia:

Campo Descripción Tipo Obligatorio/Opcional
MerchantID ID de referencia del comerciante suministrado por Allied Wallet. String Obligatorio
SiteID Un ID de referencia del sitio suministrado por Allied Wallet para cada sitio. String Obligatorio
AmountShipping La cantidad total para el envío. Esta cantidad debe agregarse al precio de compra del artículo en el campo AmountTotal .

Este campo debe completarse y será “0” para las compras de suscripciones.

Decimal Obligatorio
AmountTotal La cantidad total del carro de compras o artículos de suscripción en la transacción. Esta cantidad será verificada por Allied Wallet antes de que se pueda completar la transacción.

NOTA: Este campo debe completarse y puede ser “0” para compras de suscripciones si desea permitir que sus clientes seleccionen su opción de suscripción.

Decimal Obligatorio
CurrencyID El ID estándar para el tipo de moneda en el que está cobrando. Los tipos comunes aceptados por Allied Wallet son:

• USD – Dólares estadounidenses

• GBP – Libras esterlinas

• EUR – Euros

• CAD – Dólares canadienses

String Obligatorio
DeclineReturnURL El URL al que desea que regrese el cliente si se rechaza la transacción. String Opcional
ReturnURL El URL al que desea que regresen los clientes después de que hayan completado su compra. String Obligatorio
ConfirmURL El URL en el sitio que lleva todos los reenvíos de Allied Wallet y los envía a este URL. String Opcional
CurrencyID ID estándar para el tipo de moneda en el que está cobrando. Los tipos comunes

aceptados por Allied Wallet son:

• USD – Dólares estadounidenses

• GBP – Libras esterlinas

• EUR – Euros

• CAD – Dólares canadienses

String Obligatorio
ItemAmount[n] La cantidad TOTAL del n producto en el carro de compras, n representa el número de artículos en el carro de compras, empezando con 0. Esta cantidad consiste en el costo unitario del producto, multiplicado por la cantidad.

Por ejemplo: Si un producto cuesta $5 y se están pidiendo tres, el valor en este campo debería ser 15,00.

Decimal Obligatorio para el carro de compras
ItemDesc[n] La descripción del n producto en el carro de compras, n representa el número de artículos en el carro de compras empezando con 0. String Obligatorio para el carro de compras
ItemName[n] La cantidad del n producto en el carro de compras, n representa el número artículos en el carro de compras empezando con 0. La cantidad debe ser por lo menos 1 o devolverá un error. String Obligatorio para el carro de compras
MemberUsername Nombre de usuario del suscriptor. Este campo le permite controlar la creación de cuentas de membresía desde su propio sitio. String Opcional para membresía
MerchantReference Referencia generada por el comerciante para correlacionar la compra con la transacción de Allied Wallet. Este valor se devuelve a la cadena de consultas de la página completa del comerciante (URL). String Opcional
NoMembership Indicador de si se requiere una membresía o suscripción. Si este valor es > 0, al usuario NO se le indicará que compre una suscripción. Integer Obligatorio
PriceID Identificador de precios suministrado por Allied Wallet para un precio de suscripción y un plazo. Si no se suministra la PriceID, Allied Wallet le permitirá al cliente elegir entre las disponibles. Integer Requerido para membresía
RequireShipping Indicador de si se requiere envío. Las suscripciones en línea y compras de servicios en general no requieren envío.

Si este valor es > 0, entonces al cliente se le pedirá la información de envío.

Integer Opcional para carro de compras
ShowUserNamePassword Indicador de si se muestra la información del miembro. Si este valor es > 0, entonces se mostrarán el nombre de usuario y la contraseña. El nombre de usuario y la contraseña se mostrarán por defecto. Integer Requerido para membresía
Address Dirección de facturación String Opcional
Address2 Dirección de facturación2 String Opcional
City Ciudad de facturación String Opcional
Country Código de país de 2 dígitos para facturación String Opcional
FirstName Nombre de facturación String Opcional
LastName Apellido de facturación String Opcional
Email Dirección de correo electrónico para facturación String Opcional
PostalCode Código postal de facturación String Opcional
State Estado de facturación String Opcional

Arriba

3. Configuración de su sitio – Formularios de ejemplo

Para procesar pagos, tendrá que agregar dos páginas web a su sitio.

Primero, tendrá que agregar la página del formulario de compras. Esta página iniciará el proceso de pagos de Allied Wallet.

A continuación, tendrá que agregar una página de compra completa. Sus clientes regresarán a esta página después de haber completado una compra satisfactoriamente.

Arriba

3.1. Formulario de compras

Puede incluir el formulario de compras en cualquier página o páginas de su sitio donde se puedan enviar solicitudes de información a Allied Wallet. Usted es libre de usar cualquier lenguaje de programación web estándar, hasta HTML. Puede construir los formularios de compra para permitir las suscripciones y productos recurrentes.

He aquí ejemplos de un formulario de suscripción y carro de compras:

Arriba

3.2. Formulario de suscripción HTML

El siguiente formulario incluye toda la información necesaria que tendrá que incluir para un formulario de suscripción. Esto le permitirá a sus clientes comprar suscripciones en su sitio:

<html>
<head>
<title>Subscribe to Our Website</title>
</head>
<body>
<h1>Subscribe to Our Website</h1>
<p>Buy a subscription to our site.</p>
<form name="test" method="post"  action="https://sale.alliedwallet.com/quickpay.aspx">
<input name="MerchantID" type="hidden"  value="0000000-0000-0000-0000-00000000000">
<input name="SiteId" type="hidden"  value="0000000-0000-0000-0000-00000000000">
<input name="AmountTotal" type="hidden"  value="0.00" >
<input name="Address" type="hidden"  value="8100 E Indian School" >
<input name="CurrencyID" type="hidden"  value="USD">             
   <input name="AmountShipping" type="hidden"  value="0">
<input name="NoMembership" type="hidden"  value="0">
<input name="GroupID" type="hidden"  value="107">
<innput name="ReturnURL" type="hidden"  value="http://www.yoursite.com/success.html" />
<input name="MerchantReference" type="hidden"  value="PBI">
<input type="hidden"  name="ShowUserNamePassword" value="0" />
<input type="hidden" name="MemberUserName"  value="UniqueName123456489" />
<input type="hidden" name="MemberPassword"  value="UniquePassword123456789" />
<input type="submit" value="Buy Now -  Subscription">
</form>
</body>
</html>

El formulario HTML anterior incluye el campo “MerchantReference” que es opcional. Este campo puede usarse para correlacionar los datos de la transacción de compra en Allied Wallet con los datos de la aplicación de su sitio web.

Después de incluir los formularios adecuados, su sitio web y/o programador tendrá que proveer al sitio con un formulario de compra para el front-end que coincida con su sitio.

Puede incluir campos adicionales en el formulario para brindar los ID de grupos y los ID de precios a suscripciones de membresías. Ver la referencia para el campo en la última sección.

Arriba

3.3. Formulario para el carro de compras en HTML

Su formulario para el carro de compras puede incluirse en HTML sencillo para las compras de artículos únicos en su sitio web. El siguiente formulario incluye el script necesario para las compras de artículos únicos:

<html>
  <head>
  <title>Buy our T-Shirt</title>
  </head>
  <body>
  <h1>Buy Our T-Shirt</h1>
  <p>Single item purchase form.</p>
  <form method="post"
  action="https://sale.alliedwallet.com/quickpay.aspx">
  <!-- *** Required fields for AlliedWallet -->
  <input name="MerchantID" type="hidden"
  value="0000000-0000-0000-0000-00000000000" />
  <input name="SiteID" type="hidden"
  value="0000000-0000-0000-0000-00000000000" />
  <input name="AmountTotal" type="hidden"  value="17.99" />
  <input name="CurrencyID" type="hidden"  value="USD" />
  <input name="AmountShipping" type="hidden"  value="7.99" />
  <input name="ShippingRequired"  type="hidden" value="1" />
  <input name="ItemName[0]" type="hidden"  value="T-Shirt" />
  <input name="ItemQuantity[0]" type="hidden"  value="1" />
  <input name="ItemAmount[0]" type="hidden"  value="10.00" />
  <input name="ItemDesc[0]" type="hidden"  value="Our T-Shirt" />
  <input name="NoMembership" type="hidden"  value="1" />
  <input name="ReturnURL" type="hidden"
  value="http://oursite.com/complete.htm" />
  <input name="ConfirmURL" type="hidden"
  value="http://oursite.com/confirm.htm" />
  <!-- *** Optional fields for AlliedWallet -->
  <input name="MerchantReference"  type="hidden" value="abc123" />
  <input name="submit" type="submit" />
  </form></body>
  </html>

El formulario anterior enviará una transacción para comprar un artículo único por $10,00 más $7,99 en concepto de gastos de envío. Vea cómo el AmountTotal es igual al ItemAmount + AmountShipping.

Arriba

4. Página completa

La ‘Página completa’ puede ser cualquier página en su sitio web. La página le dará la bienvenida al cliente nuevamente después de que complete su compra. Aquí, usted puede proporcionar información adicional respecto a su producto o compra de la suscripción (es decir, información de envío, activación de la suscripción, etc.).

El URL de la ‘Página completa’ es suministrado por su página o aplicación en el campo ReturnURL.

Después de que un cliente completó su compra, Allied Wallet cargará la ‘Página completa’ designada que contendrá un ID de transacción y una referencia al comerciante. Por ejemplo, si brindó el siguiente ReturnURL en su formulario de compra:

http://oursite.com/complete.html

Allied Wallet completaría la transacción y regresaría al cliente a la
siguiente URL:

http://oursite.com/complete.html?TransactionID=67890123-cdef&MerchantReference=abc123

Arriba

5. Página de confirmación

Después de que un cliente completó con éxito una transacción, Allied Wallet reenviará los detalles de la transacción a la página de su sitio web que usted designe. Esta página debería validar y almacenar la información de la transacción en su base de datos. La ‘Página de confirmación’ debería brindar comunicación entre Allied Wallet y su aplicación. La página no necesita brindar funcionalidad al usuario.

Allied Wallet 7 Rev. 1.14

El URL de la ‘Página de confirmación’ debe ser una página válida en su sitio web o aplicación, colocada luego en el campo ConfirmURL. Si no se suministra un URL o no apunta a una página válida en su sitio, la transacción no se completará satisfactoriamente. Si no desea guardar los detalles e información de la transacción, la página puede ser una página HTML en blanco.

La información reenviada a la ‘Página de confirmación’ se reenvía agrupada en pares nombre/valor (NVP) post HTTP estándar separados por ampersands (&). Un ejemplo de solicitud de confirmación expresada con el método post sería el siguiente:

Amount=17.99&MerchantReference=abc123&PayReferenceID=b9ab260b-d690-4507-8d56-8bd92c4c132a&TransactionID=4cfdefc3-6ad2-49de-a25b-5d0f41e8cd1a

Arriba

6. Reenvío de datos de membresías

Si su sitio web es un sitio de suscripciones o membresías, puede elegir hacer que Allied Wallet reenvíe la información de un evento de suscripción/membresía a la página de su sitio web que designe. Si desea recibir eventos de reenvío de datos de membresía, deberá indicar al soporte para comerciantes de Allied Wallet un URL de reenvío. Después de recibirla, Allied Wallet le brindará una clave de reenvío para validar los eventos de reenvío de datos de Allied Wallet.

Los eventos de suscriptores publicados en su sitio web pueden incluir:

  • Agregar
  • Un cliente nuevo completó la compra de una suscripción
  • Se creó una cuenta para su sitio web
  • Cancelar
    • Un cliente canceló la suscripción a su sitio
  • Desactivar
    • Usted desactivó la suscripción de un cliente mediante una terminal de comerciante
  • Contraseña
    • Cambió la contraseña de la cuenta de suscripción de un cliente
  • En un evento de reenvío de datos de membresía, Allied Wallet transmite los siguientes campos.

    Campo Descripción Tipo Eventos de reenvío de datos
    Username Nombre de usuario del suscriptor String Agregar, Cancelar, Desactivar, Contraseña
    Email Dirección de correo electrónico del suscriptor String Agregar, Cancelar, Desactivar, Contraseña
    FirstName Nombre del suscriptor String Agregar, Cancelar, Desactivar
    LastName Apellido del suscriptor String Agregar, Cancelar, Desactivar
    MemberID ID único del suscriptor asignado por Allied Wallet String Agregar, Cancelar, Desactivar, Contraseña
    TransactionID Transacción que indicó el cambio del suscriptor String Agregar, Cancelar
    Password Contraseña del suscriptor String Agregar, Cancelar
    GroupID ID para el grupo de pago asignado al sitio Integer Agregar
    PriceID ID para el pago asignado al sitio Integer Agregar
    Action Tipos de solicitud. Los valores son:

    - Agregar

    - Cancelar

    - Desactivar

    - Contraseña

    String Agregar, Cancelar, Desactivar, Contraseña
    Key Clave de cifrado asignada por Allied Wallet String Agregar, Cancelar, Desactivar, Contraseña

    Los campos se transmiten en pares nombre/valor (NVP).

    Después de que Allied Wallet reenvíe los datos a su página de membresía, su página debe transmitir una respuesta de acuse de recibo. La respuesta es una cadena delimitada por dos puntos (:), que contiene el estado y un mensaje. El estado debe ser “0” si falló el reenvío y “1” si tuvo éxito. Si falló, el mensaje debe contener una descripción del error.

    Un ejemplo de una cadena de acuse exitosa sería:

    1:success

    Un ejemplo de una cadena de acuse fallida se vería así:

     0:user does not exist

    Arriba

    7. Campos de reenvío de datos de confirmación

    Al completar satisfactoriamente una transacción y si se suministra el ConfirmURL, el método POST envía a la página los valores de los campos a través de encabezados HTTP.

    Campo Descripción Tipo
    Amount Monto total del carro de compras o artículos de suscripción en la transacción Decimal
    MerchantReference Referencia generada por el comerciante para correlacionar la compra con la transacción de Allied Wallet. String
    PayReferenceID El ID de la transacción en el sistema de comerciantes de Allied Wallet. String
    TransactionID El ID de la transacción en la aplicación de ventas de Allied Wallet. String
    Extra1 Campo extra en el formulario String

    Arriba

    8. Pasos de integración simplificada

    Para completar la integración, simplemente cree un formulario de suscripción o un formulario de carro de compras como se ejemplifica abajo:

    Arriba

    8.1. Suscripción

    <html>
    <head>
    <title>Subscribe to Our Website</title>
    </head>
    <body>
    <h1>Subscribe to Our Website</h1>
    <p>Buy a subscription to our site.</p>
    <form name="test" method="post"  action="https://sale.alliedwallet.com/quickpay.aspx">
    <input name="MerchantID" type="hidden"  value="0000000-0000-0000-0000-00000000000">
    <input name="SiteId" type="hidden"   value="0000000-0000-0000-0000-00000000000">
    <input name="AmountTotal" type="hidden"  value="0.00" >
    <input name="CurrencyID" type="hidden"  value="USD">             
       <input name="AmountShipping" type="hidden"  value="0">
    <input name="NoMembership" type="hidden"  value="0">
    <input name="PriceID" type="hidden"  value="107">
    <innput name="ReturnURL" type="hidden"  value="http://www.yoursite.com/success.html" />
    <input name="MerchantReference"  type="hidden" value="PBI">
    <input type="hidden"  name="ShowUserNamePassword" value="0" />
    <input type="hidden" name="MemberUserName"  value="UniqueName123456489" />
    <input type="hidden" name="MemberPassword"  value="UniquePassword123456789" />
    <input type="submit" value="Buy Now -  Subscription">
    </form>
    </body>
    </html>

    Recuerde cambiar los siguientes valores a los provistos por Allied Wallet:

    • ID de comerciante
    • ID del sitio
    • ID del precio

    Arriba

    8.2. URL de administración de miembros

    Debe crear un URL en su sitio que tome los eventos de reenvío de datos a Allied Wallet y los procese en su sistema de administración de miembros (ej. archivo .htaccess o base de datos).

    Cree una página que tome todos los valores de los encabezados HTTP enviados con el método POST:

    Cree una página que tome todos los valores de los encabezados HTTP enviados con el método POST:

    Ejemplo de PHP:

    <?php
    $yourvalue=$_POST(“MerchantReference”);
    //etc for all values you want
    ?>

    Ejemplo de ASP:

    <%response.write(request.form("MerchantReference"))%>

    Arriba

    9. Integración de carros de compras

    Lo más importante para recordar cuando se usa el carro de compras es asegurarse de que cada una de la matrices de sus productos (Item[n]) y envío (si se lo usase) se sumen en el campo AmountTotal.

    Este es un ejemplo que funciona:

    <input name="AmountShipping" type="hidden"  value="0" />
    <input name="ItemName[0]" type="hidden"  value="ItemName" />
    <input name="ItemQuantity[0]" type="hidden"  value="1" />
    <input name="ItemAmount[0]" type="hidden"  value="11.00" />
    <input name="ItemDesc[0]" type="hidden"  value="Item Description" />
    <input name="AmountTotal" type="hidden"  value="11.00" />

    Este es un ejemplo que no funciona:

     <input name="AmountShipping" type="hidden"  value="1.00" />
    <input name="ItemName[0]" type="hidden"  value="ItemName" />
    <input name="ItemQuantity[0]" type="hidden"  value="1" />
    <input name="ItemAmount[0]" type="hidden"  value="12.00" />
    <input name="ItemDesc[0]" type="hidden"  value="Item Description" />
    <input name="AmountTotal" type="hidden"  value="11.00" />

    Arriba

    9.1. Actualmente estamos integrados con:

    • ACE cart
    • AgoraCart
    • VirtueMart
    • CubeCart
    • Magento
    • OSCommerce
    • Xcart
    • Zencart

    Arriba

    10. Reenvío de datos de transacciones

    También ofrecemos un URL para reenvío de datos de transacciones. El URL para reenvío de datos de transacciones es una página que usted crea en su sitio web que recibirá los reenvíos de datos sobre CADA transacción.

    Abajo aparece la lista de todos los campos de reenvío de datos:

    Arriba

    10.1. Campos de reenvío de datos de pagos

    Campo Descripción Tipo
    Action Action=Payment String(20)
    TransactionID Guid
    Amount Decimal
    MerchantReference String(50)
    CurrencyID String()
    SiteID Guid
    TransactionState 0=Sale1=PreAuth Integer
    Extra1 String(500)
    Extra2 String(500)
    XSale 0=False1=True Integer
    FirstName String(64)
    LastName String(64)
    Address String(64)
    Address2 String(64)
    City String(30)
    State String(30)
    Country String(2)
    PostalCode String(10)
    Phone String(16)
    Email String(150)
    Campos adicionales si los creó el miembro
    MemberID Integer
    Username String(100)
    Password String(100)
    PriceID Integer

    Arriba

    10.2. Campos de reenvío de datos de captura

    Campo Descripción Tipo
    Action Action=Capture String(20)
    TransactiondID Guid
    CaptureAmount Decimal
    MerchantReference String(50)
    SiteID Guid
    CurrencyID String(3)
    Extra1 String(500)
    Extra2 String(500)
    Campos adicionales si los creó el miembro
    MemberID Integer
    Username String(100)
    Password String(100)
    PriceID Integer

    Arriba

    10.3. Campos de reenvío de datos nulos

    Campo Descripción Tipo
    Action Action=Void String
    TransactionID Guid
    MerchantReference String(50)
    SiteID Guid
    Amount Decimal
    CurrencyID String(3)
    Extra1 String(500)
    Extra2 String(500)
    Campos adicionales si los creó el miembro
    MemberID Integer
    Username String(100)
    Password String(100)
    PriceID Integer

    Arriba

    10.4. Campos de reenvío de datos de contracargos

    Campo Descripción Tipo
    Action Action=Chargeback String
    TransactionID Guid
    ReasonCode Código provisto por Visa, Mastercard String(10)
    Reaspm Razón provista por Visa, Mastercard String(100)
    MerchantReference String(50)
    SiteID Guid
    ChargebackAmount Decimal
    CurrencyID String(3)
    Extra1 String(500)
    Extra2 String(500)
    Campos adicionales si los creó el miembro
    MemberID Integer
    Username String(100)
    Password String(100)
    PriceID Integer

    Arriba

    10.5. Campos de reenvío de datos de reembolsos

    Campo Descripción Tipo
    Action Action=Refund String(20)
    TransactionID Guid
    MerchantReference String(50)
    SiteID Guid
    RefundAmount Decimal
    CurrencyID String(3)
    Extra1 String(500)
    Extra2 String(500)
    Campos adicionales si los creó el miembro
    MemberID Integer
    Username String(100)
    Password String(100)
    PriceID Integer

    Arriba

    10.6. Campos de reenvío de datos de refacturación

    Campo Descripción Tipo
    Action Action=Rebill String(20)
    TransactionID Guid
    OMerchantReference Referencia del comerciante original enviada por el miembro durante el registro. String(50)
    TransactionState 0=Sale1=PreAuth Integer
    PriceID Integer
    Amount Decimal
    CurrencyID String(3)
    MemberID Integer
    UserName String(100)

    Arriba

    11. Probar información de la tarjeta

    Puede usar la siguiente información para ejecutar transacciones de prueba en su sitio y revisar su compra en la pasarela de pago. Esta es una herramienta excelente para revisar el escaparate electrónico autointegrado para resguardar a su sitio de errores.

    • CC# 4242424242424242
    • EXP 10/14
    • CVV: 123

    Arriba

    12. Felicitaciones

    Después de que haya completado el proceso como se detalló en este manual, su integración está lista para la revisión. Tan solo falta un paso para que empiece a procesar pagos con Allied Wallet. Complete el formulario de abajo para avisar a la sección de cumplimiento de Allied Wallet acerca de que completó la integración de sus API para QuickPay de Allied Wallet.

    [contact-form-7 id="578" title="Integration Status"]

    Arriba