BlueSnap Subscription Fail simulation - api

Is there any way to simulate bluesnap. what happens when a recurring payment fails, for example, if the user doesn't have money on the card in that moment?
Thank in advance :)

BlueSnap offers IPN (Instant Payment Notification) alerts for events such as declined CC charge for a subscription. This type of IPN is defined as "on demand" - which means you will need to register to receive it in the BlueSnap control panel.
https://support.bluesnap.com/docs/on-demand-ipns
Since the IPNs are messages sent over HTTP, you can choose to send them to your server, and configure a receiver for it there. Once the IPN reached your server it can be parsed by your receiver and you can choose what to do with it, for example:
send an automated email to your customer support or accounting department
send an email to the shopper
log the event in your system for later analysis.
IPNs can also be sent manually, thus simulating this event. For you specific case, the IPN for CC_CHARGE_FAILED can by opening a browser with a connection that can access your server, and putting the IPN in the address line. Your receiver will get the information and respond accordingly.
If you already received an IPN for an actual CC charge failure - use that IPN message as is. If you have not yet received such an IPN and in fact you're just starting out and building your own receiver, you should contact BlueSnap merchant support at merchants#bluesnap.com and they'll send you a sample.

Related

How can I receive a payment notification when I receive Bitcoin in a wallet on Coinbase?

I am building a bitcoin payment processor based on Coinbase. I will receive Bitcoin from end users.
Coinbase lets wallet owners receive notifications of various events via a webhook.
Which event will be generated when a user sends Bitcoin to my Coinbase wallet addresses?
And how can I know from that notification webhook whether the transaction has been confirmed or not? If confirmed, how many times it has been confirmed?
I know there are transaction APIs, but I also need a response from the webhook, because this information is important.
I have got clear understanding after making payment.
I thought Coinbase will call my webhook each time when transaction get confirmed, But they call only once.
And the event responnsible for new payment is wallet:addresses:new-payment. Which is available in their post data
{"id":"5a6956f9-94bb-5c15-99f3-a90347674","type":"wallet:addresses:new-payment" ....

REST API design for endpoint with notification

I am creating an API endpoint which takes a customer order, create the order and send email notification. At our current design once we successfully create the order, we send a success notification 201 to client and then make a call for our internal email api. Upon getting success notification from us the client app shows users a message to check his/her email.
I don't feel comfortable with this design because if for some reason the email sending method failed there are no way for client to understand this. On the other hand if we wait for to successfully the send the email and then send client app success notification it takes longer times.
So what is the right approach for overcoming this problem?
I think your design works. Why would the client care if the mail service is not working? If the order passes all validations on the server and is persisted I would treat that as a successful state and return 201 Created.
When the client gets 201 Created, then do what you say; give the user a message about checking their mail, but tell them that they should have some patience. Something like:
Your order was submitted. Please check your mail. If you haven't got a mail in 24 hours please contact us, "or whatever other solution here".
You have no control on what time the mail will arrive at the users mail box anyway since mail sending is not a synchronous process.
Remember: Seperate your conserns.
202 Accepted would usually be the most appropriate response for a request which requires further processing. In your case, however, this might not be right because the email is not fundamental to the resource creation.
201 Created is perfectly acceptable for you because the order has actually been created. However, as the spec says, you should return a Location header with the URI of the created resource and an entity describing how to access the resource. That should get around your issue with a mail service failure - the client can still access their order and, to be honest, e-mail is not guaranteed delivery so I'm hoping that the email isn't an absolutely required part of your business process.

Paypal ipn processing and dropdown option/price buttons logic

I read lots of post from various sites including paypal documentations. But I have some quesitons wihch I couldnt solve those. One of them is that how to design the codes after receiving the ipn message. Ofcourse I make my code I am able to optain and process the variables of message. like payment status and I am able to save them into database. But the point is that how should I desing the code to control the payment to overcome my requirements. I know the post become long but I feel the need of this explanation. So I have a site which works with membership with payment. Site is check after login the membership trial is expired or not if it is expired it shows a div in fornt of the site wihch includes the paypal buttons and redirect to paypal payment screen when button is clicked. User shodul have ability to choos membership period like 6 or 12 mounths (by dropdown paypal button). When the user finalize his payment ipn is trrigerd and I get the datas but all my members dont have to have a paypal account so they can use therid credit card directli and if I understand correctly the transfer of money can take some time to be recevied by me. Which time interval I should set the members approved flag is true ? I am confused about this. If I approve him after ipn is sent is there a possibility an error can occure while transferring me. How the process works.
other problem is the dropdown button. when I set option/price button when I click the button an error page is shown after redirecting to my selling page. It does not redirect to the payment page.
Realy sorry for my long post but I dont know how can I descirebethe situtation in a short way
If you need to wait until funds are available, you should test the value of "payment_status" in the verified IPN message for "Completed".
An eCheck can take from 3-5 days for collection (sometimes longer; you can see the estimated hold time in your account) and has payment_status="Pending". Once collected, you will get another IPN message with "Completed".
Note that the user never sees the IPN process. Normally you set up the conditions (in a table or something that is persistent enough), then send the user to PayPal. When the user comes back from PayPal, your code (at the "return_url") checks the table to see if Payment had completed successfully (perhaps a flag, which was set by your IPN handler code that is called by/communicated with PayPal when the user leaves PayPal gracefully).

Getting status on canceled/expired credit cards for recurring billing with authorize.net

We're setting up a system that will use the XML API for Automated Recurring Billing with Authorize.net.
It looks simple enough to set up a recurring billing. But we have two features that do not seem obvious
* providing customers with details on individual payments
* providing notification to customers of expired/canceled cards
Anyone familiar with a mechanism to retrieve this info in automated form? We're considering
* just listing out assumed payments based on our own calculations the start date
* emailing customers based on the expiration date of the ards
But I'm stymed on how to figure out when a transaction failed due to canceled card (and automatically notify the customer).
Can anyone comment on how they handled this issue when implementing a subscription-based service based on Authorize.net?
Authorize.Net has recently published a new ARB method "ARBGetSubscriptionStatus".
You may now easily query the status of a previously submitted ARB subscription without the need to depend on the "Silent Post Method".
Example:
<?xml version="1.0" encoding="utf-8"?> <ARBGetSubscriptionStatusRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd"> <merchantAuthentication> <name>mytestacct</name> <transactionKey>112223344</transactionKey> </merchantAuthentication> <refId>Sample</refId> <subscriptionId>100748</subscriptionId> </ARBGetSubscriptionStatusRequest>
You want to use Authorize.Net's silent post feature. It will notify you of all payments made through their system including declines and expired credit cards. Your script will then be able to suspend accounts and/or notify your customers that their payments has failed.
See these link for more info:
Handling Authorize.Net ARB Subscription Failures
All About Authorize.Net’s Silent Post
Handling Authorize.Net Silent Post with PHP
You need to use the Silent POST URL
ARBGetSubscriptionStatusRequest will not work. If the first transaction (or first transaction since the ARB profile was updated, either via API or manually) fails, the status of the subscription is set to suspended. Otherwise, the status of a subscription does not change when a transaction declines or a card expires.
Using the Silent POST URL, you'll be notified of successful transactions and you can use them to update your data such as tracking a next payment due date/expiration date. You can then run a cron job and if this field has not been updated, you will know that the card was cancelled or expired.
In the event that it is still an active card but gets declined, you'll get notified as such at the Silent POST URL

DNN Problem: Dynamic Registration, Paypal, and User Creation

I'm having a problem with the module Dynamic Registration for DNN.
The module is set up with form completion events in such a way that a user gets redirected to paypal and on completion of payment a user gets created and an email is sent out.
I also have it set up so that an email gets sent out on completion of payment, just to test that the module knows when payment has been completed.
I tried going through the process with the payment gateway (Paypal) enabled - the email gets sent out, but the user does not get created. When I disable the payment gateway, however, a user does get created as well as the email is sent out.
Is there something I'm missing here that is making the module not realize it needs to create the user?
The fact that the module sends out the email makes me think that it should also trigger the Uesr Creation event.
Any ideas/hints as to how Dynamic Registration works with Paypal or how I might be able to fix this?
When the user returns to your site from paypal you must have Friendly URL's turned on or the site can't read the data sent back from paypal.
I found the following information at http://www.datasprings.com/Products/ProductForums/tabid/727/forumid/3/tpage/1/view/topic/postid/4581/language/en-US/Default.aspx#4581
When PayPal integration is turned on:
The user is redirected to PayPal based on the information and settings within your PayPal Payment gateway. This includes the PayPal login, sandbox or standard gateway, and payment information/additional parameters.
Completion events do not get fire off initially
How do completed events get fired off?
When PayPal is enabled Dynamic Completion Events need to be ‘linked’ to PayPal IPN codes. In short, this means that you will specify within the PayPal payment gateway section which ‘completion events’ should be fired off basically conditionally upon which IPN code PayPal will send to your registration form.
For example: Maybe you want to setup a completion event to add the user to a security role, but you only want this to happen when the payment is completed. You would first create the completion event, and then you would ‘link it’ within the PayPal payment gateway section under ‘Form Completion Events / PayPal Payment Status’
For example: Maybe you want to setup a ‘Payment failed’ email to be sent to the administrator if a subscription payment fails. You would first create the completion event, and then you would ‘link it’ within the PayPal payment gateway section under ‘Form Completion Events / PayPal Payment Status’