2015-07-29 2 views
0

J'ai utilisé l'API PayPal REST pour mettre en place des abonnements (paiement récurrent) sur mon site. Je dois définir une URL de notification pour être informé du paiement effectué (par exemple, plan mensuel) par le plan d'abonnements via PayPal. PayPal l'appelle comme notification de paiement instantanée.Paiements récurrents PayPal utilisation abusive

Ma question est, le développeur peut abuser de cet appel pour simuler l'appel de PayPal? Parce que le développeur est conscient de l'URL de notification et des paramètres transmis à cette méthode. Le développeur a simplement besoin de connaître le récurring_payment_id.

S'il peut être mal utilisé alors quelles sont les étapes que je devrais suivre pour l'empêcher. Guidez-moi s'il-vous-plaît.

Répondre

1

Les notifications de paiement instantané ne fonctionnent pas avec Rest API, cependant, Rest API a ses propres notifications qui sont renvoyées. Pour utiliser l'API Notifications for Rest, un développeur est nécessaire pour créer des Webhooks.
WebHooks and Notifications with PayPal Rest API

Avec le contrat de facturation Profile ID, un développeur peut annuler un accord ou suspendre un contrat. Un développeur ne peut pas obtenir de données de carte de crédit auprès de PayPal.

Voici certaines des informations du site des développeurs PayPal sur les paiements récurrents et la création d'un accord de facturation:

Même si quelqu'un a pu obtenir une réponse du serveur, il serait tout simplement l'état de la facturation accord. Aucune information de titulaire de compte n'est renvoyée.

C'est une réponse de l'échantillon à partir du site Developer PayPal: Retrieve an Agreement Rest API

{ 
"id": "I-0LN988D3JACS", 
"state": "Pending", 
"description": "New Description", 
"plan": { 
"payment_definitions": [ 
    { 
    "type": "REGULAR", 
    "frequency": "Month", 
    "amount": { 
     "currency": "USD", 
     "value": "100.00" 
    }, 
    "charge_models": [ 
     { 
     "type": "TAX", 
     "amount": { 
      "currency": "USD", 
      "value": "12.00" 
     } 
     }, 
     { 
     "type": "SHIPPING", 
     "amount": { 
      "currency": "USD", 
      "value": "10.00" 
     } 
     } 
    ], 
    "cycles": "12", 
    "frequency_interval": "2" 
    } 
], 
"merchant_preferences": { 
    "setup_fee": { 
    "currency": "USD", 
    "value": "0.00" 
    }, 
    "max_fail_attempts": "0", 
    "auto_bill_amount": "YES" 
} 
}, 
"links": [ 
{ 
    "href": "https://api.sandbox.paypal.com/v1/payments/billing-agreements /I-0LN988D3JACS/suspend", 
    "rel": "suspend", 
    "method": "POST" 
}, 
{ 
    "href": "https://api.sandbox.paypal.com/v1/payments/billing-agreements/I-0LN988D3JACS/re-activate", 
    "rel": "re_activate", 
    "method": "POST" 
}, 
{ 
    "href": "https://api.sandbox.paypal.com/v1/payments/billing-agreements/I-0LN988D3JACS/cancel", 
    "rel": "cancel", 
    "method": "POST" 
}, 
{ 
    "href": "https://api.sandbox.paypal.com/v1/payments/billing-agreements/I-0LN988D3JACS/bill-balance", 
    "rel": "self", 
    "method": "POST" 
}, 
{ 
    "href": "https://api.sandbox.paypal.com/v1/payments/billing-agreements/I-0LN988D3JACS/set-balance", 
    "rel": "self", 
    "method": "POST" 
} 
], 
"start_date": "2015-02-19T08:00:00Z", 
"agreement_details": { 
"outstanding_balance": { 
    "currency": "USD", 
    "value": "0.00" 
}, 
"cycles_remaining": "12", 
"cycles_completed": "0", 
"final_payment_date": "2016-12-19T10:00:00Z", 
"failed_payment_count": "0" 
} 
} 
+0

Merci, mais PayPal REST WebHooks ne sont pas complets, PayPal travaillent là-dessus pour remplacer IPN avec WebHooks, dès maintenant IPN est le seule option pour obtenir la notification de PayPal pour les paiements récurrents. Voici les variables IPN https://www.paypal.com/in/cgi-bin/webscr?cmd=p/acc/ipn-subscriptions-outside, PayPal donne un appel POST à ​​mon application dès que le paiement arrive. Ma question est peut développeur/quelqu'un produit l'appel POST à ​​mon application au lieu de PayPal? –

+0

Si vous implémentez le [Protocole d'authentification IPN] (https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNIntro/#protocol_and_arch), vous pouvez toujours être assuré que l'IPN provient de PayPal. –