2012-08-01 31 views
5

Tengo un botón simple Pagar ahora, el código creado a través del creador de botones, con un campo oculto "personalizado" agregado para identificarlo. Me pregunto si hay algún campo oculto adicional que pueda agregar para decirle a PayPal que "Esta transacción no se debe realizar dos veces".¿Cómo evitar pagos duplicados de PayPal?

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post"> 

    <input type="hidden" name="cmd" value="_s-xclick"> 
    <input type="hidden" name="custom" value="{MYUNIQUEID}"> 
    <input type="hidden" name="hosted_button_id" value="{MYHOSTEDBUTTONID}"> 
    <input type="image" src="https://www.sandbox.paypal.com/en_US/i/btn/btn_paynowCC_LG.gif" 
    border="0" name="submit" alt="PayPal - The safer, easier way to pay online!"> 
    <img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"> 

</form> 

Como lo es ahora que es poco probable que el cliente debe ser capaz de pagar dos veces, pero me di cuenta que cuando la caja de arena tenía un problema técnico que logró el pago de la misma transacción dos veces. Algo que absolutamente quiero evitar No solo para el cliente, eso podría ser reembolsado, claro, pero también porque no quiero que mi base de datos esté en mal estado y me gustaría evitar una codificación extensa para atrapar pagos duplicados ...

Respuesta

12

Usted querría agregar un identificador único al parámetro "factura"; <input type="hidden" name="invoice" value="your unique invoice ID"> y habilite "Bloquear pagos duplicados" en la sección "Perfil"> "Herramientas de venta" de su cuenta en www.paypal.com

8

Gracias Robert! (Por encima de correos)

De hecho, me fue tan lejos que yo iba a preguntar PayPal Soporte Técnico comerciante al respecto y justo antes de la presentación de mi pregunta no encontré una página con la respuesta -

Evitar la duplicación de pagos: https://ppmts.custhelp.com/app/answers/detail/a_id/165

No está seguro de si tiene que acceder para ver más arriba la página, así que estoy citando a la página aquí por conveniencia:

puede evitar transacciones duplicadas pasando un número de factura para el sistema de PayPal. Esta función está disponible para Pagos en el sitio web Estándar y Pagos en el sitio web Pro (SOAP y NVP). El sistema de PayPal comprobará que el número de factura que pase no se haya abonado en su cuenta, siempre que haya configurado su perfil para bloquear números de factura duplicados.

Ejemplo: La factura 001 ha sido pagada, por lo tanto, si 001 se pasa a la cuenta de PayPal por segunda vez, será denegada.

para bloquear esta en su perfil:

bloquear los pagos accidentales: Usted puede prevenir pagos accidentales por bloqueo de ID de facturas duplicadas

  1. Entrar en https://www.paypal.com

  2. Haga clic en el 'Perfil' subficha

  3. En 'Preferencias de venta', haga clic en 'P ayment Recepción de Preferencias

  4. Elija 'Sí, bloques múltiples pagos por ID de factura' si desea utilizar esta característica al pasar la 'factura' variable de

  5. Vaya a la parte inferior y haga clic en el botón 'Guardar'

para pasar el número de factura para Pago estándar, se necesario añadir una línea de código para el código del botón existente. No puede agregar este código a un botón creado originalmente como encriptado. Ejemplo a continuación:

Para Pago Pro, el único parámetro que depende del tipo de llamadas a API que están haciendo.

para el jabón: InvoiceID

Para NVP: INVNUM

Al usar Pro, si un número de factura duplicado se detecta el error será devuelto 10412. Para obtener una lista completa de los códigos de error API, y detalles sobre el error 10412 Click Here

+1

Gran detalle, gracias Paul. :-) –

Cuestiones relacionadas