Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>com.chargify</groupId>
<artifactId>chargify-sdk</artifactId>
<version>0.2.8</version>
<version>0.3.0</version>
<packaging>jar</packaging>

<name>Chargify SDK for Java</name>
Expand Down Expand Up @@ -75,6 +75,14 @@
<version>1.2.3</version>
</dependency>


<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/com/chargify/Chargify.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.chargify.model.Allocation;
import com.chargify.model.Component;
import com.chargify.model.ComponentPricePointUpdate;
import com.chargify.model.CreateSubscription;
import com.chargify.model.Customer;
import com.chargify.model.Metadata;
import com.chargify.model.Product;
Expand Down Expand Up @@ -38,7 +39,7 @@ public interface Chargify

Product archiveProductById( String id );

Subscription createSubscription( Subscription subscription );
Subscription createSubscription( CreateSubscription subscription );

Subscription findSubscriptionById( String id );

Expand Down
7 changes: 4 additions & 3 deletions src/main/java/com/chargify/ChargifyService.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import com.chargify.model.Allocation;
import com.chargify.model.Component;
import com.chargify.model.ComponentPricePointUpdate;
import com.chargify.model.CreateSubscription;
import com.chargify.model.Customer;
import com.chargify.model.Metadata;
import com.chargify.model.Migration;
Expand All @@ -20,6 +21,7 @@
import com.chargify.model.wrappers.AnyComponentWrapper;
import com.chargify.model.wrappers.ComponentPricePointUpdatesWrapper;
import com.chargify.model.wrappers.ComponentWrapper;
import com.chargify.model.wrappers.CreateSubscriptionWrapper;
import com.chargify.model.wrappers.CustomerWrapper;
import com.chargify.model.wrappers.MetadataWrapper;
import com.chargify.model.wrappers.MeteredComponentWrapper;
Expand Down Expand Up @@ -200,10 +202,9 @@ public Product archiveProductById( String id )
}

@Override
public Subscription createSubscription( Subscription subscription )
public Subscription createSubscription( CreateSubscription subscription )
{
return httpClient.postForObject( "/subscriptions.json",
new SubscriptionWrapper( subscription ), SubscriptionWrapper.class )
return httpClient.postForObject( "/subscriptions.json", new CreateSubscriptionWrapper( subscription ), SubscriptionWrapper.class )
.getSubscription();
}

Expand Down
163 changes: 4 additions & 159 deletions src/main/java/com/chargify/model/Component.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,11 @@

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Arrays;

@Data
@JsonInclude( JsonInclude.Include.NON_NULL )
public class Component implements Serializable
{
Expand Down Expand Up @@ -60,163 +61,7 @@ public class Component implements Serializable

private Boolean taxable;

private String description;
private Boolean recurring;

public String getId()
{
return id;
}

public void setId( String id )
{
this.id = id;
}

public String getName()
{
return name;
}

public void setName( String name )
{
this.name = name;
}

public String getPricingScheme()
{
return pricingScheme;
}

public void setPricingScheme( String pricingScheme )
{
this.pricingScheme = pricingScheme;
}

public String getUnitName()
{
return unitName;
}

public void setUnitName( String unitName )
{
this.unitName = unitName;
}

public Double getUnitPrice()
{
return unitPrice;
}

public void setUnitPrice( Double unitPrice )
{
this.unitPrice = unitPrice;
}

public String getProductFamilyId()
{
return productFamilyId;
}

public void setProductFamilyId( String productFamilyId )
{
this.productFamilyId = productFamilyId;
}

public ComponentKind getKind()
{
return kind;
}

public void setKind( ComponentKind kind )
{
this.kind = kind;
}

public Boolean getArchived()
{
return archived;
}

public void setArchived( Boolean archived )
{
this.archived = archived;
}

public Boolean getTaxable()
{
return taxable;
}

public void setTaxable( Boolean taxable )
{
this.taxable = taxable;
}

public String getDescription()
{
return description;
}

public void setDescription( String description )
{
this.description = description;
}

public Price[] getPrices()
{
return prices;
}

public void setPrices( Price[] prices )
{
this.prices = prices;
}

public PricePoint[] getPricePoints()
{
return pricePoints;
}

public void setPricePoints( PricePoint[] pricePoints )
{
this.pricePoints = pricePoints;
}

public String toString()
{
return "Component{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", pricingScheme='" + pricingScheme + '\'' +
", unitName='" + unitName + '\'' +
", unitPrice=" + unitPrice +
", productFamilyId='" + productFamilyId + '\'' +
", prices=" + Arrays.toString( prices ) +
", pricePoints=" + Arrays.toString( pricePoints ) +
", kind=" + kind +
", archived=" + archived +
", taxable=" + taxable +
", description='" + description + '\'' +
'}';
}

public String getDefaultPricePointName()
{
return defaultPricePointName;
}

public void setDefaultPricePointName( String defaultPricePointName )
{
this.defaultPricePointName = defaultPricePointName;
}

public String getDefaultPricePointHandle()
{
return defaultPricePointHandle;
}

public void setDefaultPricePointHandle( String defaultPricePointHandle )
{
this.defaultPricePointHandle = defaultPricePointHandle;
}
private String description;
}
69 changes: 69 additions & 0 deletions src/main/java/com/chargify/model/CreateSubscription.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
package com.chargify.model;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.ZonedDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


@Data
@JsonInclude( JsonInclude.Include.NON_NULL )
public class CreateSubscription implements Serializable
{

@JsonProperty( "product_handle" )
private String productHandle;

@JsonProperty( "product_id" )
private String productId;

@JsonProperty( "product_price_point_handle" )
private String productPricePointHandle;

@JsonProperty( "product_price_point_id" )
private String productPricePointId;

@JsonProperty( "coupon_code" )
private String couponCode;

@JsonProperty( "payment_collection_method" )
private String paymentCollectionMethod;

@JsonProperty( "receives_invoice_emails" )
private Boolean receivesInvoiceEmails;

@JsonProperty( "net_terms" )
private String netTerms;

@JsonProperty( "customer_id" )
private String customerId;

@JsonProperty( "customer_reference" )
private String customerReference;

@JsonProperty( "next_billing_at" )
private ZonedDateTime nextBillingAt;

@JsonProperty( "stored_credential_transaction_id" )
private Integer storedCredentialTransactionId;

@JsonProperty( "sales_rep_id" )
private Integer salesRepId;

@JsonProperty( "payment_profile_id" )
private String paymentProfileId;

private String reference;

@JsonProperty( "customer_attributes" )
private Customer customerAttributes;

private List<SubscriptionComponent> components;

private Map<String, String> metafields = new HashMap<>();
}
Loading