- From: Melvin Carvalho <melvincarvalho@gmail.com>
- Date: Sun, 26 Jul 2015 23:56:36 +0200
- To: Web Payments <public-webpayments@w3.org>
- Message-ID: <CAKaEYhJBdR6kX+wkWkA=m9gFKHK_EyrPLdR3y6wWxsumEqQ4fg@mail.gmail.com>
On 26 July 2015 at 01:22, Melvin Carvalho <melvincarvalho@gmail.com> wrote:
> I'd like to sketch out a design and workflow for HTTP 402 that I think
> would be possible to implement as a proof of concept
>
> im trying to design a payment system using SoLiD and HTTP 402 ... I wonder
> how it would go?
>
> 1 Alice wishes to view resource X costing 1 bit from wallet W
>
This is done
> 2 resource X is ACL protected
>
This is done
> 3 Alice visits controller website and indicates wish to view protected
> resource
>
This is done
> 3 Controller website sends back HTTP 402 saying payment required and
> gives a protected location Y for Alice to send a payment
>
So far this is partially done, but server is sending back a 403. I'd like
to send back a 402 with a Location: header (manu suggested to me)
As a stop gap until that's done a lookup somewhere of contentURL=URI could
be done and give back something like:
{
"@context": "https://w3id.org/payments/v1",
"id": "http://example.com/articles/1#offer",
"type": "Offer",
"payee": [{
"id": "http://example.com/articles/1#offer-payee",
"type": "Payee",
"currency": "USD",
"destination": "https://payswarm.example.com/i/bob/accounts/primary",
"rate": "0.05",
"rateType": "FlatAmount",
"comment": "Payment for PaySwarm in Practice by Digital Bazaar."
}],
"payeeRule": [{
"type": "PayeeRule",
"destinationOwnerType": "payment processor",
"maximumRate": "10",
"rateType": "InclusivePercentage"
}],
"asset": "http://example.com/articles/1#asset",
"assetHash": "14618b56ff597a2fed560db9aa0610fe442106a4",
"license": "http://payswarm.example.com/licenses/blogging",
"licenseHash": "0d8866836917f8ef58af44accb6efab9a10610ad",
"validFrom": "2011-03-02T00:00:00+0000",
"validUntil": "2011-03-03T00:00:00+0000"
"signature": {
"type": "GraphSignature2012",
"created": "2011-03-02T00:00:00Z",
"creator": "https://payswarm.example.com/i/bob/keys/4",
"signatureValue": "KXtwA5kXZBJzj1rkPMJmGDROjM+fpi2cJIB+Xqf10="
}
}
Question: or should this be inline?
> 4 Controller website subscribes to location Y
>
Next step is to get Alice's client to parse this response and find out
where to post the payment
> 5 If Alice is verified as sending a payment she is added to ACL of X
> 6 Payment is subtracted from wallet W
> 7 Alice can view resource X
>
These parts TODO:
You can see a demo partly completed at:
http://inartes.com/?contentURI=https:%2F%2Finartes.databox.me%2FPublic%2Fdante%2Finferno-02%23139
Click on "Next Verse"
>
> I'll be using the SoLiD framework for this.
>
> Anyone see any obvious flaws in the workflow?
>
> [1] https://linkeddata.github.io/SoLiD/
>
Received on Sunday, 26 July 2015 21:57:06 UTC