Skip to content

Commit

Permalink
Merge pull request #364 from trevorinman/support-card-available-payou…
Browse files Browse the repository at this point in the history
…t-methods

Add support for the available_payout_methods attribute of a Card
  • Loading branch information
brandur-stripe committed Apr 12, 2017
2 parents 90d2a9c + e2a0a1d commit 213ccab
Show file tree
Hide file tree
Showing 3 changed files with 156 additions and 0 deletions.
10 changes: 10 additions & 0 deletions src/main/java/com/stripe/model/Card.java
Expand Up @@ -7,6 +7,7 @@
import com.stripe.exception.InvalidRequestException;
import com.stripe.net.RequestOptions;

import java.util.List;
import java.util.Map;

public class Card extends ExternalAccount {
Expand All @@ -18,6 +19,7 @@ public class Card extends ExternalAccount {
String addressState;
String addressZip;
String addressZipCheck;
List<String> availablePayoutMethods;
String brand;
String country;
String currency;
Expand Down Expand Up @@ -107,6 +109,14 @@ public void setAddressZipCheck(String addressZipCheck) {
this.addressZipCheck = addressZipCheck;
}

public List<String> getAvailablePayoutMethods() {
return availablePayoutMethods;
}

public void setAvailablePayoutMethods(List<String> availablePayoutMethods) {
this.availablePayoutMethods = availablePayoutMethods;
}

public String getBrand() {
return brand;
}
Expand Down
24 changes: 24 additions & 0 deletions src/test/java/com/stripe/model/ExternalAccountTest.java
@@ -1,5 +1,6 @@
package com.stripe.model;

import com.google.common.collect.ImmutableList;
import com.stripe.BaseStripeTest;
import com.stripe.exception.StripeException;
import com.stripe.model.Customer;
Expand All @@ -20,6 +21,8 @@
import org.junit.Test;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;

public class ExternalAccountTest extends BaseStripeTest {
@Before
Expand Down Expand Up @@ -84,4 +87,25 @@ public void testVerify() throws StripeException, IOException {
params
);
}

@Test
public void testManagedAccountHasAvailablePayoutMethods() throws StripeException, IOException {
stubNetwork(Account.class, resource("managed_account.json"));

Account account = Account.create(null);

assertTrue(account.getManaged());

assertNotNull(account.getExternalAccounts());
assertNotNull(account.getExternalAccounts().getData());
assertEquals(account.getExternalAccounts().getData().size(), 1);
assertEquals(account.getExternalAccounts().getData().get(0).getObject(), "card");
assertTrue(account.getExternalAccounts().getData().get(0) instanceof Card);

Card card = (Card) account.getExternalAccounts().getData().get(0);

assertNotNull(card.getAvailablePayoutMethods());
assertEquals(card.getAvailablePayoutMethods().size(), 2);
assertEquals(card.getAvailablePayoutMethods(), ImmutableList.of("standard", "instant"));
}
}
122 changes: 122 additions & 0 deletions src/test/resources/com/stripe/model/managed_account.json
@@ -0,0 +1,122 @@
{
"id": "acct_1032D82eZvKYlo2C",
"object": "account",
"business_logo": null,
"business_name": "Stripe Test Managed Account",
"business_url": null,
"charges_enabled": true,
"country": "US",
"debit_negative_balances": false,
"decline_charge_on": {
"avs_failure": false,
"cvc_failure": false
},
"default_currency": "usd",
"details_submitted": true,
"display_name": null,
"email": null,
"external_accounts": {
"object": "list",
"data": [
{
"id": "card_175MxA2iMoKf4jyWCUGYPWfx",
"object": "card",
"account": "acct_1032D82eZvKYlo2C",
"address_city": null,
"address_country": null,
"address_line1": null,
"address_line1_check": null,
"address_line2": null,
"address_state": null,
"address_zip": null,
"address_zip_check": null,
"available_payout_methods": [
"standard",
"instant"
],
"brand": "Visa",
"country": "US",
"currency": "usd",
"cvc_check": "pass",
"default_for_currency": true,
"dynamic_last4": null,
"exp_month": 1,
"exp_year": 2018,
"fingerprint": "mmN9BeTLCWlGtlYM",
"funding": "debit",
"last4": "5556",
"metadata": {},
"name": null,
"tokenization_method": null
}
],
"has_more": false,
"total_count": 1,
"url": "/v1/accounts/acct_1032D82eZvKYlo2C/external_accounts"
},
"keys": {
"secret": "sk_test_SECRET",
"publishable": "pk_test_PUBLISHABLE"
},
"legal_entity": {
"address": {
"city": "San Francisco",
"country": "US",
"line1": "185 Berry Street",
"line2": "Suite 550",
"postal_code": "94107",
"state": "CA"
},
"business_name": "Stripe Test Managed Account",
"business_tax_id_provided": true,
"dob": {
"day": 1,
"month": 1,
"year": 1901
},
"first_name": "John",
"last_name": "Doe",
"personal_address": {
"city": null,
"country": "US",
"line1": null,
"line2": null,
"postal_code": null,
"state": null
},
"personal_id_number_provided": false,
"ssn_last_4_provided": true,
"type": "company",
"verification": {
"details": null,
"details_code": null,
"document": null,
"status": "unverified"
}
},
"managed": true,
"metadata": {},
"product_description": null,
"statement_descriptor": null,
"support_email": null,
"support_phone": null,
"timezone": "Etc/UTC",
"tos_acceptance": {
"date": 1491846910,
"ip": "1.2.3.4",
"user_agent": null
},
"verification": {
"disabled_reason": null,
"due_by": null,
"fields_needed": [
"legal_entity.personal_id_number"
]
},
"transfers_enabled": true,
"transfer_schedule": {
"delay_days": 2,
"interval": "daily"
},
"transfer_statement_descriptor": null
}

0 comments on commit 213ccab

Please sign in to comment.