HNHacker News
TopNewBestAskShowJobs

mtamizi

44 karma · joined January 23, 2014

submissionscomments
mtamizi··on [dead]
Ask questions of YC alum (S13) and ex-Visiting Partner, Edrizio de la Cruz.

He’s publishing his new book, The Underdog Founder, on September 19th where he shares his odyssey from when he sold guavas in his Dominican barrio all the way to when he sold his company to Mastercard.

Edrizio will present the book in a YC off-the-record founder story format. Then, we’ll do an AMA to answer any questions you may have. We’ll cover topics like fundraising, M&A, mental health, overcoming extreme obstacles, and more.

The advanced preview copy of the book impacted me in it’s brutal honesty about the challenges Edrizio had to overcome. It’s a version of the founder story that’s rarely told and refreshing to read.

Leave your questions in the comments for the AMA.

More about the book: edriziodelacruz.com

mtamizi··on How Russia Works on Intercepting Messaging Apps
It's one thing to rely on phone numbers for authentication, it's yet another to store the messages. The same scenario on WhatsApp would have given the attacker access to the account but not the message history, which is presumably what they were after.
mtamizi··on Balanced payments is shutting down
You can start the migration process and continue to use Balanced. Your existing cards, bank accounts, and seller data will be ported to Stripe, and all new cards, bank accounts, and sellers that you create on Balanced will be mirrored on Stripe.
mtamizi··on TDD your API
"I have sufficient funds in my marketplace" is defined here: https://github.com/balanced/balanced-api/blob/master/feature...

  Given(/^I have sufficient funds in my marketplace$/) do
    step 'I have tokenized a card'
    @client.post("/cards/#{@card_id}/debits", {
                   amount: 500000
                 })
  end
Here's another example from the scenario above:

  Given(/^I have a tokenized debit card$/) do
    @client.post('/cards',
      {
        name: "Johannes Bach",
        number: "4342561111111118",
        expiration_month: "05",
        expiration_year: "2015"
      }
    )
    @debit_card_id = @client['cards']['id']
    @client.add_hydrate(:debit_card_id, @debit_card_id)
  end
mtamizi··on TDD your API
Here's an example of how we do it:

The scenario: https://github.com/balanced/balanced-api/blob/master/feature...:

  Scenario: Push money to an existing debit card
    Given I have sufficient funds in my marketplace
    And I have a tokenized debit card
    When I POST to /cards/:debit_card_id/credits with the JSON API body:
      """
      {
        "credits": [{
          "amount": 1234
        }]
      }
      """
    Then I should get a 201 Created status code
    And the response is valid according to the "credits" schema
    And the fields on this credit match:
      """
      {
        "status": "succeeded"
      }
      """
    And the credit was successfully created
There's several things in there like "And I have a tokenized debit card" that setup the scenario to be able to do things like "/cards/:debit_card_id/credits", which refers to an actual card ID created in the test API.
mtamizi··on TDD your API
It feels so good to see some of the comments here and elsewhere on our approach at Balanced. I've been trying to put this process/system in place for close to two years now. Steve was finally able to make it possible where I couldn't.

There's a lot of other companies facing the same challenge and have also come to the conclusion that there isn't a sufficient solution pre-built. Hopefully, we'll get to the point where there's a standard solution that everyone can use instead of tons of homegrown solutions.

mtamizi··on TDD your API
The challenge we had with that approach was being able to reference the response of a previous request.

As a simple example:

1. Create customer

2. Add tokenized card to customer

3. Charge the card

Step 2 requires the HREF/ID of the customer. Step 3 requires the HREF/ID of the card.

mtamizi··on Send money to a customer’s checking account using their debit card number
There's a few differences: 1. You have to hunt down a check or track down your account number and routing number from your bank where you have your debit card in your wallet. 2. We've found that customers are more skittish to share their bank account than their debit card number. I can try to guess why, but that's at least what we see. 3. Bank account numbers can't be verified in real-time (takes 2-3 business days) where debit card numbers can. This can lead to big issues the first time a customer gets paid and a poor initial experience.
mtamizi··on Send money to a customer’s checking account using their debit card number
> It seems to me like you guys already have a system to map debit card numbers to bank accounts, so this should technically be possible as an ACH transfer. No?

That's not the way we're doing it. I've tried to find such a system, but AFAIK, it's not possible.

mtamizi··on Send money to a customer’s checking account using their debit card number
What is the use case?
mtamizi··on Send money to a customer’s checking account using their debit card number
Balanced is offering a white-labeled API. Square Cash is a branded consumer product.

The mechanism of paying people using their debit cards is the same.

mtamizi··on Send money to a customer’s checking account using their debit card number
No daily limits.

Visa limits the transactions to $2,500 per transaction. Other networks don't have as well defined of a limit. We set the $2,500 limit in the API to set a reasonable expectation. We'll learn more about the limits over time and document it here: https://github.com/balanced/balanced-api/issues/603

mtamizi··on Send money to a customer’s checking account using their debit card number
(ceo of Balanced)

Under promise. Over deliver. That's the best way to answer that. :-)

We have partnerships and direct ATM network integrations to clear in real-time for ~55% of debit cards. I didn't want to promise that until we've done enough volume to see that clearing time for ourselves instead of basing it what our partners have communicated to us. Once I have enough data/proof, I'll update the language to reflect the faster speed.

mtamizi··on Ask HN: Help I need advice on fraud
> My payment processing company has tried to call the Ally Bank agent for 2 days with no avail.

Ally isn't going to help you in this case. Ally doesn't know you, and you're asking them to give you money from one of their customers.

Who is your payment processor? You can issue an ACH reversal. You would get your money back if the money is still in the recipient's bank account. It's worth a try since they may not be expecting you to reverse the transaction and will still have money in the account.

mtamizi··on Stripe: Marketplaces
(I work at Balanced)

Balanced does: https://www.balancedpayments.com/ach-debits

mtamizi··on Braintree is giving $50k in processing to every startup
Balanced will and has.
mtamizi··on Balanced's Architecture
We repurposed the glass tabletops from IKEA desks and threw them on the wall for white boards ;-)
mtamizi··on Sam Altman for President
Congrats Sam! Thank you for the advice to continually focus, focus, focus even in the face of temptation to do more.