• Resolved izzya21

    (@izzya21)


    I have two issues with the plugin

    1- No confirmation email is created/sent when an order is placed. I verified it is not my SMTP settings and there are no error logs on my host.

    2- Once the crypto payment has completed (2 verifications on LTC) the order status does not update – it is stuck on “Blockchain Pending”. My products are digital downloads so this results in the client not being able to download what they paid for.

    Is Coinbase Commerce even being supported? There are two other reported issues and there has been no developer response for 3+ months. This is unusable in its current state and I will have to go back to BitPay.

Viewing 9 replies - 1 through 9 (of 9 total)
  • Hello,

    i also have the same problem with “Bockchain Pending”.
    Any solution for this?

    Thread Starter izzya21

    (@izzya21)

    I was able to fix this issue on my website. Go into the plugin php file on your hosting, find class-wc-gateway-coinbase.php. At ~line 364 you should see this:

    } elseif ( ‘COMPLETED’ === $status ) {
    $order->payment_complete();

    Change that section of code to this:

    } elseif ( ‘COMPLETED’ === $status ) {
    $order->update_status( ‘completed’, __( ‘Coinbase payment was successfully processed.’, ‘coinbase’ ) );
    $order->payment_complete();

    The plugin will now automatically update the order status from “Blockhain Pending” to “Completed”. This will send the confirmation email to the customer as well.

    Cheers,

    izzya21

    Thread Starter izzya21

    (@izzya21)

    btw

    If you don’t want the order to go from Blockchain Pending to Completed, just enter whatever status you want.

    Example – Blockchain Pending to Processing would be:

    } elseif ( ‘COMPLETED’ === $status ) {
    $order->update_status( ‘processing’, __( ‘Coinbase payment was successfully processed.’, ‘coinbase’ ) );
    $order->payment_complete();

    Hi,

    This was fixed in the Github repo and we’ve updated this plugin with the latest changes! Hope this helps.

    Thanks,
    Justin

    @justinpobriencb I see some changes made to the class-wc-gateway-coinbase.php file, but it seems to be related to order being expired, but I don’t see the change @izzya21 mentioned above

    https://plugins.trac.www.ads-software.com/changeset/2080264/coinbase-commerce/trunk/class-wc-gateway-coinbase.php

    My plugin is still staying in “Processing” and it looks like we still have to manually add the change @izzya21 has suggested.

    @whallify have you upgraded to version 1.1.2?

    @justinpobriencb yes, 1.1.2 is installed, and as shown in the link I posted, there was no change in that version to the completed status in the class-wc-gateway-coinbase.php

    Coinbase Commerce
    You have version 1.1.2 installed. Update to 1.1.3. View version 1.1.3 details.
    Compatibility with WordPress 5.2: 100% (according to its author)

    I see v1.1.3 doesn’t have any changes here, and the “fix” as @izzya21 mentioned above, seems to be changing public function _update_order_status to correctly go go completed when $status is ‘COMPLETED’

    On line 371, the change would be FROM

    $order->update_status( ‘processing’, __( ‘Coinbase payment was successfully processed.’, ‘coinbase’ ) );

    TO

    $order->update_status( ‘completed’, __( ‘Coinbase payment was successfully processed.’, ‘coinbase’ ) );

    Side note for my personal usage of statuses – my order processing usually needs the “processing” status to do certain things and then “completed” to do other things.

    I’ve been using GOURL crypto plugin for a long time. The way it works is as follows:

    User submits order: Status -> new
    User starts payment via GOURL: Status -> Pending payment
    GOURL sees payment, zero confirmations: Status -> Processing
    GOURL sees 6 confirmations on payment: Status -> Completed

    I liked this, because of other processes that use the processing status to do certain things, like allocate license keys, send welcome emails, etc.

    The Coinbase Commerce plugin creates a new status called blockchainpending, which maps to GOURL’s “I’ve seen a payment, but not fully confirmed”.

    One thing I’m thinking of doing is overriding the line 365-366 code from where Coinbase Commerce moves order to blockchainpending and just change that to processing so it maps with my other processes. That way an order doesn’t bypass the processing status just because I’m using Coinbase Commerce.

    My question to you is – can you think of any potential caveats to skipping blockchainpending and changing that to processing? Or would Coinbase Commerce prefer to keep that status, and use something else to move from processing to completed?

    • This reply was modified 5 years, 9 months ago by whallify.

    Indeed blockchainpending is equivalent to seeing the transaction in the mempool (zero confirmations) and processing is when we’ve seen a sufficient number of confirmations (1 confirmation for BTC).

    I can’t think of any potential caveats.

Viewing 9 replies - 1 through 9 (of 9 total)
  • The topic ‘Order Status Not Updating and No Confirmation Emails’ is closed to new replies.