Skip to content

shakeelstha/balanced-java

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

151 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Balanced

Online Marketplace Payments

Build Status

Requirements

Which you can download to target/dependency using:

$ mvn dependency:copy-dependencies

Issues

Please use appropriately tagged github issues to request features or report bugs.

Installation

Maven

Add this dependency to your pom.xml:

<dependency>
    <groupId>com.balancedpayments</groupId>
    <artifactId>balancedpayments</artifactId>
    <version>0.6</version>
</dependency>

NOTE: the <version>XXX</version> can be out of date in this README.

Quickstart

APIKey key = new APIKey();
key.save();
System.out.printf("Our secret is %s\n", key.secret);

System.out.printf("Configure with our secret\n");
Balanced.configure(key.secret);

System.out.printf("Create marketplace\n");
Marketplace mp = new Marketplace();
mp.save();

System.out.printf("Who am I? Easy Merchant.me().uri -> %s\n", Merchant.me().uri);

System.out.printf("Whats my marketplace? Easy Marketplace.mine().uri -> %s\n", Marketplace.mine().uri);

System.out.printf("My marketplace's name is: %s\n", mp.name);
System.out.printf("Changing it to TestFooey..\n");
mp.name = "TestFooey";
mp.save();
System.out.printf("My marketplace's name is now: %s\n", mp.name);

System.out.printf("Cool, let's create (aka tokenize) a card!\n");
Card card = mp.tokenizeCard("5105105105105100", 12, 2015);
System.out.printf("Our card is %s.\n", card.uri);

System.out.printf("Now create our **buyer** account associated with that card\n");
Account buyer = mp.createBuyerAccount("buyer", "buyer@example.org", card.uri, null);
System.out.printf("Our **buyer** account is %s.\n", buyer.uri);

System.out.printf("Lets hold some moneyfrom the buyer, say $15\n");
Hold hold = buyer.hold(1500);

System.out.printf("And now capture that money\n");
Debit debit = hold.capture();
System.out.printf("Which gives us this debit %s\n", debit.uri);

mp.refresh();
System.out.printf("Sweet, now we have this much in escrow %s\n", mp.in_escrow);

System.out.printf("But lets refund the full amount\n");
Refund refund = debit.refund();

mp.refresh();
System.out.printf("So now we have this much in escrow %s\n", mp.in_escrow);

System.out.printf("That was the buyer, now lets add a **merchant** account\n");

Map<String, Object> identity = new HashMap<String, Object>();
identity.put("type", "person");
identity.put("name", "Billy Jones");
identity.put("street_address", "801 High St");
identity.put("postal_code", "94301");
identity.put("country_code", "USA");
identity.put("dob", "1979-02");
identity.put("phone_number", "+16505551234");

BankAccount bank_account = mp.tokenizeBankAccount(
        "Jack Q Merchant",
        "123123123",
        "123123123",
        BankAccount.Checking);

Account merchant = mp.createMerchantAccount(
        "Jack Q Merchant",
        "merchant@example.org",
        bank_account.uri,
        identity,
        null);
System.out.printf("Our **merchant** account is %s.\n", merchant.uri);

System.out.printf("Our **buyer** wants to purchase something from our **merchant** for $130.\n");
debit = buyer.debit(13000, "TestFooey.COM");

System.out.printf("Lets credit the **merchant** $110 of that $130.\n");
Credit credit = merchant.credit(11000, "Purchase on TestFooey");

System.out.printf("We are the marketplace and charge 15%%, so we just earned $20!\n");
mp.owner_account.credit(2000, "Commission for TestFooey");

System.out.printf("Now the **buyer** wants to deactivate their card.\n");
card.is_valid = false;
card.save();

System.out.printf("Hey I stored the URI, how can I get the object?\n");
Account.get(buyer.uri);
Credit.get(credit.uri);
Debit.get(debit.uri);

System.out.printf("And there you have it :)\n");

Usage

See https://www.balancedpayments.com/docs/api#java for tutorials and documentation.

Testing

$ mvn test

Publishing

Sonatype OSS repository.

Snapshot

$ mvn clean deploy

Stage Release

$ mvn release:clean
$ mvn release:prepare
$ mvn release:perform

Release

Done using the Sonatype Nexus UI.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Write your code and tests
  4. Ensure all tests still pass
  5. Commit your changes (git commit -am 'Add some feature')
  6. Push to the branch (git push origin my-new-feature)
  7. Create new pull request

Contributors

About

Balanced API library in java.

Resources

Stars

Watchers

Forks

Packages

No packages published