Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Payment REST API Go client

GoDoc

This is a client for the Paypal REST API (https://developer.paypal.com/webapps/developer/docs/api/

Goals

  • Automated tests that don't require manual approval in Paypal account
  • Automated tests that require manual approval in a Paypal account (with a different build tag, eg. PAYPAL_APPROVED_PAYMENT_ID
  • Concurrency safety by utilizing PayPal-Request-Id

Usage

go get github.com/leebenson/paypal

Import into your app and start using it:

package main

import (
	"fmt"
	"log"
	"os"

	"github.com/leebenson/paypal"
)

func main() {
	clientID := os.Getenv("PAYPAL_CLIENTID")
	if clientID == "" {
		panic("PayPal clientID is missing")
	}

	secret := os.Getenv("PAYPAL_SECRET")
	if secret == "" {
		panic("PayPal secret is missing")
	}

	client := paypal.NewClient(clientID, secret, paypal.APIBaseLive)

	payments, err := client.ListPayments(map[string]string{
		"count":   "10",
		"sort_by": "create_time",
	})
	if err != nil {
		log.Fatal("Could not retrieve payments: ", err)
	}

	fmt.Println(payments)
}

Run tests

This library use Goconvey for tests, so to run them, start Goconvey:

PAYPAL_TEST_CLIENTID=[Paypal Client ID] PAYPAL_TEST_SECRET=[Paypal Secret] goconvey

Or you can just use go test

PAYPAL_TEST_CLIENTID=[Paypal Client ID] PAYPAL_TEST_SECRET=[Paypal Secret] go test

Roadmap

About

PayPal Website Payments Pro API for Go (golang)

Resources

License

Releases

No releases published

Packages

No packages published

Languages

You can’t perform that action at this time.