Stripe: Difference between revisions

From NSB App Studio
Jump to navigation Jump to search
Line 104: Line 104:
     MsgBox "Transaction declined."
     MsgBox "Transaction declined."
   End If
   End If
End Function
</pre>
</pre>



Revision as of 22:17, 25 February 2016

This page is about a feature which is still in development. It has not been released.

Description

Using Stripe, AppStudio developers can integrate payment processing into their websites without having to register and maintain a merchant account. Stripe accepts all major credit cards, plus BitCoin and AliPay.

The Stripe control makes it easy to collect payment from your customers directly within your app.

Start by setting up a Stripe account for yourself. You'll need to enter information about your company, including bank account information (so Stripe can transfer to you).

The following properties can be set up in the IDE. They can also be changed at runtime, by reference them as [controlname].data.[property]:

 Stripe1.data.amount = 1000

When the user clicks on the Stripe button, a popup appears. The appearance of the popup depends on the properties. Here's a minimal popup:

When the user fills in the information and click on the Pay button, the information is sent to a PGP script. This script needs to be saved on the same server as your app is loaded from for security reasons.

The PHP script is quite simple - it reads the information sent from your app and calls Stripe for authorization.

    //include the Stripe libraries for PHP
    require_once '/usr/home/nsbasic/stripe-php-3.9.0/init.php';

    //Supply the private key. Issued by Stripe
    \Stripe\Stripe::setApiKey("••••••••••••••••••••••••••");

    // Create the charge on Stripe's servers - this will charge the user's card
    try {
      $stripe = $charge = \Stripe\Charge::create(array(
        "amount" => $_POST['amount'],
        "currency" => $_POST['currency'],
        "source" => $_POST['stripeToken'],
        "description" => $_POST['description'],
        "metadata" => $_POST['metadata']
      ));
    } catch(\Stripe\Error\Card $e) {
      echo "Declined.";
      break;
    }

The PHP script requires the Stripe libraries be installed on your server. Instructions for doing this are here: https://github.com/stripe/stripe-php#manual-installation

When the script completes, it returns a response object.

Properties

alipay Accept Alipay?
alipayReusable Reusable access to customer's Alipay account needed?
allowRememberMe Reusable access to customer's Alipay account needed?
amount Reusable access to customer's Alipay account needed?
billingAddress Should Stripe prompt for the billing address?
bitcoin Accept BitCoin?
chargeScript The name of the PHP script on your server which calls Stripe for authorization.
currency Currency of transaction. 3 letter ISO code.
description Description of what is being sold. Displayed on Stripe popup.
email Customer's email. Displayed on Stripe popup. If empty, Stripe popup will request it.
image 128x128 icon to display on Stripe popup. gif, jpg or png. Do not add files to /nsb.
key Your public key. Issued by Stripe.
locale Specify auto to display Checkout in the user's preferred language, if available. English will be used by default.
metadata Additional data of your own, in object format.
panelLabel Additional label to show on green button on Stripe popup.
shippingAddress Should Stripe prompt for the shipping address?
zipCode Should Stripe validate the billing ZIP code?

Events

Only one event is supported:

onApprovalReceived(response Called when Stripe approves (or does not approve) the transaction.

Example

Function Stripe1_onApprovalReceived(response)
  If response.status = "approved" Then
    MsgBox "Transaction approved."
  Else
    MsgBox "Transaction declined."
  End If
End Function

Output

(the PayPal payment screen appears)

Related Items

AdSense