mirror of
https://github.com/plutov/paypal.git
synced 2025-02-02 15:10:36 +01:00
deletions made (#209)
This commit is contained in:
parent
d2210adf9c
commit
f195993596
|
@ -1,70 +0,0 @@
|
||||||
package paypal
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
)
|
|
||||||
|
|
||||||
// CreateBillingAgreementToken - Use this call to create a billing agreement
|
|
||||||
// Endpoint: POST /v1/billing-agreements/agreement-tokens
|
|
||||||
func (c *Client) CreateBillingAgreementToken(
|
|
||||||
ctx context.Context,
|
|
||||||
name string,
|
|
||||||
description string,
|
|
||||||
startDate string,
|
|
||||||
payer *Payer,
|
|
||||||
plan *BillingPlan,
|
|
||||||
) (*BillingAgreementToken, error) {
|
|
||||||
type createBARequest struct {
|
|
||||||
Name string `json:"name"`
|
|
||||||
Description string `json:"description"`
|
|
||||||
StartDate string `json:"start_date"`
|
|
||||||
Payer *Payer `json:"payer"`
|
|
||||||
Plan *BillingPlan `json:"plan"`
|
|
||||||
}
|
|
||||||
|
|
||||||
billingAgreementToken := &BillingAgreementToken{}
|
|
||||||
|
|
||||||
req, err := c.NewRequest(
|
|
||||||
ctx,
|
|
||||||
"POST",
|
|
||||||
fmt.Sprintf("%s%s", c.APIBase, "/v1/billing-agreements/agreement-tokens"),
|
|
||||||
createBARequest{Name: name, Description: description, StartDate: startDate, Payer: payer, Plan: plan})
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
if err = c.SendWithAuth(req, billingAgreementToken); err != nil {
|
|
||||||
return billingAgreementToken, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return billingAgreementToken, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// CreateBillingAgreementFromToken - Use this call to create a billing agreement
|
|
||||||
// Endpoint: POST /v1/billing-agreements/agreements
|
|
||||||
func (c *Client) CreateBillingAgreementFromToken(
|
|
||||||
ctx context.Context,
|
|
||||||
tokenID string,
|
|
||||||
) (*BillingAgreement, error) {
|
|
||||||
type createBARequest struct {
|
|
||||||
TokenID string `json:"token_id"`
|
|
||||||
}
|
|
||||||
|
|
||||||
billingAgreement := &BillingAgreement{}
|
|
||||||
|
|
||||||
req, err := c.NewRequest(
|
|
||||||
ctx,
|
|
||||||
"POST",
|
|
||||||
fmt.Sprintf("%s%s", c.APIBase, "/v1/billing-agreements/agreements"),
|
|
||||||
createBARequest{TokenID: tokenID})
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
if err = c.SendWithAuth(req, billingAgreement); err != nil {
|
|
||||||
return billingAgreement, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return billingAgreement, nil
|
|
||||||
}
|
|
30
types.go
30
types.go
|
@ -328,36 +328,6 @@ type (
|
||||||
OverrideMerchantPreferences *MerchantPreferences `json:"override_merchant_preferences,omitempty"`
|
OverrideMerchantPreferences *MerchantPreferences `json:"override_merchant_preferences,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// BillingAgreementToken response struct
|
|
||||||
BillingAgreementToken struct {
|
|
||||||
ID string `json:"id,omitempty"`
|
|
||||||
Name string `json:"name,omitempty"`
|
|
||||||
Description string `json:"description,omitempty"`
|
|
||||||
StartDate string `json:"start_date,omitempty"`
|
|
||||||
AgreementDetails *AgreementDetails `json:"agreement_details,omitempty"`
|
|
||||||
Payer *Payer `json:"payer,omitempty"`
|
|
||||||
ShippingAddress *ShippingAddress `json:"shipping_address,omitempty"`
|
|
||||||
OverrideMerchantPreferences *MerchantPreferences `json:"override_merchant_preferences,omitempty"`
|
|
||||||
OverrideChargeModels *OverrideChargeModel `json:"override_charge_models,omitempty"`
|
|
||||||
Plan *Plan `json:"plan,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
//OverrideChargeModel struct
|
|
||||||
OverrideChargeModel struct {
|
|
||||||
ChargeID string `json:"charge_id"`
|
|
||||||
Amount *Amount `json:"amount"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// Plan struct
|
|
||||||
Plan struct {
|
|
||||||
ID string `json:"id"`
|
|
||||||
Name string `json:"name"`
|
|
||||||
Description string `json:"description"`
|
|
||||||
CreateTime string `json:"create_time,omitempty"`
|
|
||||||
UpdateTime string `json:"update_time,omitempty"`
|
|
||||||
PaymentDefinitions []PaymentDefinition `json:"payment_definitions,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// BillingInfo struct
|
// BillingInfo struct
|
||||||
BillingInfo struct {
|
BillingInfo struct {
|
||||||
OutstandingBalance AmountPayout `json:"outstanding_balance,omitempty"`
|
OutstandingBalance AmountPayout `json:"outstanding_balance,omitempty"`
|
||||||
|
|
45
unit_test.go
45
unit_test.go
|
@ -392,16 +392,6 @@ func (ts *webprofileTestServer) ServeHTTP(w http.ResponseWriter, r *http.Request
|
||||||
ts.deleteinvalid(w, r)
|
ts.deleteinvalid(w, r)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if r.RequestURI == "/v1/billing-agreements/agreement-tokens" {
|
|
||||||
if r.Method == "POST" {
|
|
||||||
ts.create(w, r)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if r.RequestURI == "/v1/billing-agreements/agreements" {
|
|
||||||
if r.Method == "POST" {
|
|
||||||
ts.createWithoutName(w, r)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ts *webprofileTestServer) create(w http.ResponseWriter, r *http.Request) {
|
func (ts *webprofileTestServer) create(w http.ResponseWriter, r *http.Request) {
|
||||||
|
@ -781,39 +771,4 @@ func TestDeleteWebProfile_invalid(t *testing.T) {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestCreateBillingAgreementToken(t *testing.T) {
|
|
||||||
|
|
||||||
ts := httptest.NewServer(&webprofileTestServer{t: t})
|
|
||||||
defer ts.Close()
|
|
||||||
|
|
||||||
c, _ := NewClient("foo", "bar", ts.URL)
|
|
||||||
|
|
||||||
_, err := c.CreateBillingAgreementToken(
|
|
||||||
context.Background(),
|
|
||||||
"name A",
|
|
||||||
"description A",
|
|
||||||
"start date A",
|
|
||||||
&Payer{PaymentMethod: "paypal"},
|
|
||||||
&BillingPlan{ID: "id B", Name: "name B", Description: "description B", Type: "type B"})
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestCreateBillingAgreementFromToken(t *testing.T) {
|
|
||||||
|
|
||||||
ts := httptest.NewServer(&webprofileTestServer{t: t})
|
|
||||||
defer ts.Close()
|
|
||||||
|
|
||||||
c, _ := NewClient("foo", "bar", ts.URL)
|
|
||||||
|
|
||||||
_, err := c.CreateBillingAgreementFromToken(context.Background(),"BillingAgreementToken")
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user